Je veux utiliser la fonction __autoload .. Par exemple, j'ai deux fichiers dans le même dossier:Comment utiliser autoload avec espace de noms en php?
index.php, MyClass.php
MyClass.php est quelque chose comme ceci:
// filename: MyClass.php
namespace SomeNameSpace;
class MyClass{
public static function helloWorld(){ echo 'Hello'; }
}
Donc ce que je veux faire est d'utiliser __autoload pour charger cette classe. Mais quand je fais ceci:
function __autoload($className){
include($className.'.php');
}
chargement automatique ne fonctionne pas, car la classe est dans l'espace de noms.
Une aide?
exemple index.php:
//index.php
//the autoload method above
SomeNameSpace\MyClass::helloWorld();
Désolé, il est une erreur que je fait poser la question. Le code est correct. Cela ne fonctionne toujours pas. –
qu'est-ce que vous obtenez dans $ className? – galchen
Il a essayé d'inclure SomeNameSpace \ MyClass.php mais MyClass.php n'est pas dans le dossier SomeNameSpace, il se trouve dans le même dossier. Donc, c'est le problème. –