|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 5 ![]() |
Bonjour,
Je tourne en rond depuis un moment et j'aurais besoins d'un conseil. ![]() Dans un pattern d'usine, savez-vous s'il est-il possible d'instancier une classe se trouvant dans un autre namespace? Dans le code suivant, si $className est égal à "anothernamespace\MyClass" l'exception se produit bien que la classe MyClass est définie dans le namespace anothernamespace. Code :
Il me semble que rien ne figure dans le PHP Manual à ce sujet. Merci pour votre aide. |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() |
Bonjour,
Est ce que tu as essayé avec Cela devrait fonctionner sans problème. |
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 5 ![]() |
L'ajout de la parenthèse n'a pas résolu le problème. Voici une description rejoignant mon cas: http://www.php.net/manual/fr/languag...amic.php#91552
Mais le problème ne provient en réalité pas de la Factory elle-même, mais de l'autoload qui est utilisé dans mon cas. Dans mon cas, le code suivant Code :
renvoie ALEATOIREMENT Citation:
I say Baar En remplaçant spl_autoload('Foo') par include('Foo.php'), "I say Baar" s'affiche à tout les coups. Il me paraitrait plus logique d'effectuer spl_autoload('my\Foo'), mais avec le namespace "my" devant j'obtiens également un résultat aléatoire entre l'exception ci-avant et un Citation:
Quelqu'un a déjà rencontré ce problème? |
||||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 5 ![]() |
Pour le code ci-dessus, il faut mettre la classe Foo dans un répertoire nommé my.
Cela m'indique que je me suis planté au niveau de l'implémentation de l'autoload dans ma structure de l'appli. Conclusion, la mauvaise utilisation de spl_autoload peut créer des effets de bord avec des comportements aléatoires... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com