Bonjour à tous,
Désolé pour le titre, je ne trouvais pas de titre qui collait à ma question...
Le problème est le suivant :
Dans mon code, j'instancie souvent les mêmes class au court de la même transaction. A chaque fois je fais un $obj1= new class1();
La plus part du temps mes class ne possèdent pas de variable et le constructeur est vide. J'aimerais faire en sorte que lors du premier instance de la class, je place l'objet instantié dans $GLOBALS et ensuite lors de la seconde instance, je retourne le premier. Mais je ne sais pas trop ou faire cela surtout que je n'ai pas envie de modifier le code qui instancie la class. Ca doit être transparant
$obj1 et $obj2 doivent être les mêmes objets. Même adresse mémoire si possible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $obj1= new class1(); $obj2= new class1(); Ca doit revenir à faire $obj1=$obj2= new class1();
J'ai essayé dans le constructeur mais le return dans un constructeur ne fonctionne pas. Comment surcharger à la demande le new class1();
D'un autre point de vue, comment faire en sorte que lorsque je fais $obj1= new class1(); il mette dans $obj1 ce que je veux. Un string, un int ou un objet déja instancié.
PS: j'utilise _autoload pour y mettre le require_once du fichiers php qui contient la class demandée si cette class n'est pas définie. C'est peut être une piste à explorer.
PS2: c'est un super singleton
Partager