[PHP5] FACTORY ET PARAMÈTRES CONSTRUCTEURS

Signaler
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40444-php5-factory-et-parametres-constructeurs

Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
Avec un peu de retard ...
Je crois que y'a une coquille ligne 34 !
Si je veux instancer un Boolean je dois passer un param disons ... false pour créer un bool qui vaut false.
A vu de nez euh
l.23 public static function createInstance($sClassName, $mArgs=null)
l.34 elseif(!is_null($mArgs)){

J'me trompe ?
Messages postés
455
Date d'inscription
mardi 17 septembre 2002
Statut
Membre
Dernière intervention
22 juillet 2007

La pratique, c'est toujours utile. Je viens donc de mettre en pratique ce code, et je viens de me rendre compte que j'avais oublié le cas où il n'y aurais pas de constructeur dans la classe ( où si le constructeur ne prends pas de paramètres )
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

Ouep c'est ttrès utile comme principe... j'utilise quelque chose de similaire en php4... à la différence près que...

1 $arg est facultatif... si vide la class est instanciée sans arguments

2 le fichier de la class est inclu par la fonction si la class n'est pas déclarée (et que le fichier est trouvé biensur)... .. .

Au final c'est une sorte d'__autoload() à la sauce php4... .. .

^_^
@ tchaOo°
Messages postés
455
Date d'inscription
mardi 17 septembre 2002
Statut
Membre
Dernière intervention
22 juillet 2007

Merci ! Et merci du rappel aussi...
Dans ma classe de test, j'avais bel et bien mis la gestion d'erreur, mais lorsque j'ai mis en forme pour poster ici, ça a disparu... Et j'ai pas pensé à vérifier. Fatigue quand tu nous tiens. :)

En tout cas, j'espère que cette API évoluera encore :p
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,

c'est pas mal du tout. Utiliser l'API de réflexion pour une méthode d'usinage est une très bonne idée.
Manque juste une petite gestion d'erreur si on demande une classe n'existant pas (une Exception), et un try catch sur tes instanciations, ensuite (en dehors de la classe je veux dire).

J'avais utilisé cet API en profondeur pour ma classe de documentation de classes et de fonctions, mais je n'y avais jamais pensé poru de l'usinage.