Ceci est probablement assez simple, mais je n'ai pas été en mesure de comprendre comment formuler la question pour Google, va ici:PHP: déclarer une variable de classe pour être un objet stdClass
Alors, je fais souvent quelque chose comme ça ...
class foo {
private $bar = array();
}
... pour définir une propriété de classe comme un tableau. Cependant, je voudrais faire une propriété privée un objet au lieu, quelque chose comme ceci:
class foo {
private $bar = new stdClass();
}
J'ai essayé plusieurs variantes de ce et aucun d'entre eux travaillaient. Cela peut-il être fait? Pour les points bonus, pouvez-vous attribuer une propriété privée à une autre classe d'objet?
Merci!
Ok, ça marche. Cependant, que se passe-t-il si je veux que cette classe puisse être étendue par d'autres classes qui peuvent surcharger le constructeur? Y at-il un moyen de s'assurer que $ bar reste un objet? – Andrew
voir mes notes édite ... et aussi passer en revue le manuel des classes et des objets: http://php.net/manual/fr/language.oop5.php – prodigitalson
Merci pour l'exemple étendu, je vois comment vous l'avez fait. Je souhaite que vous puissiez simplement déclarer quelque chose comme un objet de la façon dont vous pouvez le déclarer comme un tableau. Cela me permettrait de mieux "déjouer" le code: je n'aime pas obliger les utilisateurs à appeler le constructeur parent parce qu'ils semblent toujours oublier et ne pas être capables de comprendre pourquoi les choses ne fonctionnent pas. Cependant, parfois tu dois faire ce que tu dois faire. Merci pour l'aide!! – Andrew