PHP5 - INSTANCIATION UNIQUE DE CLASSE VIA MULTITON
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
7 mars 2006 à 13:59
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 2015
-
8 mars 2006 à 15:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 8 mars 2006 à 15:56
Bah en faite, cette méthode peut être appliquée pour chaque classe individuellement ! Hors la, je regroupe tous les Singletons de chaque classe.
Maintenant pourquoi une classe ? Parce que ma préférence va pour l'objet, voila tout :)
Maintenant, dans ma classe à moi, je n'ai pas que cette méthode car j'ai des classes qui s'instancient un peu différement :)
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 8 mars 2006 à 14:23
Sympa ce code... .. . ;o)
J'utilise le même concept hormis qu'il sagit d'une fonction et non d'une class et que les objets sont stockés dans une variable statique... ce qui au final revient un peut au même... juste que je vois pas l'interet de faire une class pour une seul méthode (mais c'est un avis perso)... .. .
9/10... .. . ;o)
@ tchaOo°
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 8 mars 2006 à 11:44
Dans ma méthode statique, y'a ca :
define(strtoupper($name), NULL);
Ce qui fait que je défini une constante à ce moment la. Le nom de la constante étant le nom de la classe.
Donc à l'appel de mon constructeur, je regarde si la constante est initialisée !
Par contre, j'ai oublié quelque chose... c'est à dire le fait d'avoir instancier une classe via ModInterface::GetInstance() puis ensuite pouvoir faire : $x = new class;
Jvais corriger ca :)
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 8 mars 2006 à 08:49
J'aime bcp le concept :) Et puis ça change ^^.
Tu dis:
if ( !defined(strtoupper(__CLASS__)) ) throw new Exception('Classe non appelé correctement');
mais comment pourrait-on appeler le constructeur d'une classe sans qu'elle soit définie? j'ai du mal ^^. mci!
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 7 mars 2006 à 13:59
C'est un très joli code :-)
Je testerai dès que possible dans un gros projet pour voir le gain.
8 mars 2006 à 15:56
Maintenant pourquoi une classe ? Parce que ma préférence va pour l'objet, voila tout :)
Maintenant, dans ma classe à moi, je n'ai pas que cette méthode car j'ai des classes qui s'instancient un peu différement :)
8 mars 2006 à 14:23
J'utilise le même concept hormis qu'il sagit d'une fonction et non d'une class et que les objets sont stockés dans une variable statique... ce qui au final revient un peut au même... juste que je vois pas l'interet de faire une class pour une seul méthode (mais c'est un avis perso)... .. .
9/10... .. . ;o)
@ tchaOo°
8 mars 2006 à 11:44
define(strtoupper($name), NULL);
Ce qui fait que je défini une constante à ce moment la. Le nom de la constante étant le nom de la classe.
Donc à l'appel de mon constructeur, je regarde si la constante est initialisée !
Par contre, j'ai oublié quelque chose... c'est à dire le fait d'avoir instancier une classe via ModInterface::GetInstance() puis ensuite pouvoir faire : $x = new class;
Jvais corriger ca :)
8 mars 2006 à 08:49
Tu dis:
if ( !defined(strtoupper(__CLASS__)) ) throw new Exception('Classe non appelé correctement');
mais comment pourrait-on appeler le constructeur d'une classe sans qu'elle soit définie? j'ai du mal ^^. mci!
7 mars 2006 à 13:59
Je testerai dès que possible dans un gros projet pour voir le gain.