[PHP5] FACTORY ET PARAMÈTRES CONSTRUCTEURS

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 24 nov. 2006 à 09:21
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 7 déc. 2008 à 15:26
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

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
7 déc. 2008 à 15:26
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 ?
Naixn Messages postés 455 Date d'inscription mardi 17 septembre 2002 Statut Membre Dernière intervention 22 juillet 2007
24 nov. 2006 à 17:18
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 )
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
24 nov. 2006 à 15:56
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°
Naixn Messages postés 455 Date d'inscription mardi 17 septembre 2002 Statut Membre Dernière intervention 22 juillet 2007
24 nov. 2006 à 10:26
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
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 nov. 2006 à 09:21
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.
Rejoignez-nous