PHP Chargement automatique dans les espaces de noms

J'ai eu un léger problème avec le chargement automatique dans mon espace de noms. Comme indiqué sur le manuel PHP ici: http://us.php.net/manual/en/language.namespaces.rules.php vous devriez être en mesure d'auto-chargement de l'espace de noms des fonctions avec un nom complet par ex. \colle\common\is_email().

Chose est que j'ai une fonction spl_autoload_register(array($importation, la "charge")); dans le délai initial de l'espace de noms mais chaque fois que j'essaie de l'appeler \colle\common\is_email() à partir de l'initiale de l'espace de noms, il ne passera pas que la fonction autoload mais lors de l'utilisation de nouveaux is_email() (dans le contexte d'une classe), il sera. Je n'ai pas le manuel dit que je peux chargement automatique de noms entièrement qualifiés mais je ne peux pas :.

Voici mon code:

namespace glue;

require_once 'import.php';

use glue\import as import;
use glue\core\router as router;

$import = new import();

spl_autoload_register(array($import, "load"));

/** Works and echos glue\router **/
$router = new router();

/** Don't do nothing **/
$cheese = \glue\common\is_email($email);

J'ai aussi essayé ce code:

namespace glue;

require_once 'import.php';

use glue\import as import;
use glue\core\router as router;
use glue\common;

$import = new import();

spl_autoload_register(array($import, "load"));

/** Works and echos glue\router **/
$router = new router();

/** Don't do nothing **/
$cheese = common\is_email($email);

et enfin ce code:

namespace glue;

require_once 'import.php';

use glue\import as import;
use glue\core\router as router;
use glue\common\is_email as F;

$import = new import();

spl_autoload_register(array($import, "load"));

/** Works and echos glue\router **/
$router = new router();

/** Don't do nothing **/
$cheese = F($email);
Utilisé comme php5.3 comme c'est un 5.3 seule question.

OriginalL'auteur Sammaye | 2010-09-04