2009-06-16 3 views
0

Si vous êtes dans UsersController, à quoi sert la partie $this->User de l'instruction $this->User->find('all');?

Qu'est-ce que le référencement $this? Est-ce un exemple de quelque chose? Quel est l'objet actuel dans ce cas?

+0

Vous devriez vraiment suivre les conseils donnés dans le post que vous avez fait il y a 15 minutes, et lire la documentation PHP sur les objets. Marquage exact dupe de http://stackoverflow.com/questions/999307/meaning-of-this-in-cakephp – Triptych

+0

Je demande spécifiquement à CakePHP d'utiliser l'instance d'un UsersController. Le $ fait référence à quelque chose! – BWelfel

+0

il fait référence à la classe UsersController ... vous ne devriez pas essayer d'écrire du code CakePHP sans une compréhension de base de la syntaxe de programmation orientée objet en PHP. –

Répondre

1

Le comportement par défaut de gâteau est d'associer automatiquement un modèle avec chaque contrôleur. La convention est que le modèle associé sera le singulier du nom du contrôleur de sorte que UsersController chargera automatiquement le modèle nommé User, PeopleController chargera automatiquement le modèle nommé Person. Les modèles qui sont chargés automatiquement de cette manière deviennent alors disponibles en tant qu'attributs de votre objet contrôleur.

Vous pouvez choisir les modèles chargés automatiquement pour un contrôleur en définissant l'attribut $ uses de l'objet contrôleur sur un tableau contenant les noms des modèles que vous souhaitez charger, mais cela est généralement considéré comme une mauvaise pratique.

Vous pouvez également définir l'attribut $ uses sur false si vous ne souhaitez pas associer de modèle à votre contrôleur.

Pour charger des instances de modèle à un stade ultérieur de votre contrôleur, vous pouvez appeler $ this-> loadModel ('Cow') et $ this-> Cow contiendra désormais une référence à votre modèle Cow.

Questions connexes