Bon, ce que je présentais se confirme, ça me fais faire beaucoup trop de modifs en mettant en place les namespace.
Le méthode des préfixes pour résoudre les noms communs sera nettement plus simple et plus rapide.
Le coté positif que je remarque néanmoins, c'est peut être de déceler des problèmes de conception qu'il y aurait dans le projet.
Je donne un cas réel pour exemple.
J'ai une classe ConfigCom (dans communs/classes) qui est le parent de Config (dans publique/classes).
L'idée est que ce qui ce trouve dans "communs" est le coté FrameWork.
Les classes enfants dans "publique" c'est le siteWeb, donc s'il y a un 2ème projet il y aura une 2ème classe Config avec ces propre config.
Même principe pour le routage : RouteurCom (parent dans communs) et Routeur (enfant dans publique).
Le problème que je rencontre à cet instant, c'est que dans le index.php j'ai ce code :
Config::getRouteur()->routage();
Celui ci fonctionne très bien avec l'autoload, sans les namespace.
Mais j'ai idée qu'il y aurait un problème de conception, car en faite, j'ai une méthode ConfigCom::getRouteur(), elle se trouve dans ConfigCom et nondans Config.
Ca veut dire que le Parent ConfigCom appel directement l'enfant du routage, donc Routeur, et ensuite appel la méthode routage().
Ce que je me dis, c'est que le Parent ConfigCom ne serait pas censé connaitre Routeur, à la limite RouteurCom.
M'enfin, à l'heure actuel c'est conçu comme ça, et Php perd un peu ses petits avec l'autoload + namespace. 
Bref.
Il me semble avoir compris les principes de base des espaces de nom (grâce à ton aide
), mais là le truc est beaucoup trop avancé pour mettre ça en place du jour au lendemain (mise à par les nombreuses âneries qu'il doit avoir).
Partager