Par exemple, mon application utilise l'instance d'un objet Utilisateur et différents autres objets doivent accéder à certains attributs et méthodes. Et ces objets instancient d'autres objets, qui à leur tour doivent également accéder à l'utilisateur. Quelle est la meilleure façon de gérer cela? Passer l'objet utilisateur comme référence lorsque j'instancie ces nouveaux objets?PHP: Si de nombreux objets utilisent l'instance du même objet, quelle est la manière efficace de la passer?
est ici par exemple de la façon dont cela se fait maintenant:
class App { private $user; private $controller; public function __construct() { $this->user = new User(); $this->controller = new Controller(); $this->controller->setUser(& $this->user); } }
Est-ce la bonne façon de le faire?
EDIT: Existe-t-il un moyen de faire de l'instance utilisateur une variable globale?
passe des objets en PHP5 référence par défaut, donc ne pas besoin de le faire explicitement –
Regardez le motif Singleton. Peut-être que ça va mieux ici. – KingCrunch
@Paul, ce n'est pas tout à fait vrai. Il passe un handle par valeur. Mais votre conseil est toujours correct ... laissez tomber le '&' dans l'appel de la fonction. – Matthew