Что такое ссылка $ this-> User в UsersController в CakePHP? - PullRequest
0 голосов
/ 16 июня 2009

Если вы находитесь внутри UsersController, какой цели служит часть $this->User оператора $this->User->find('all');?

Что такое ссылка $this? Это экземпляр чего-то? Каков текущий объект в этом случае?

Ответы [ 2 ]

1 голос
/ 22 июня 2009

Поведение по умолчанию в Cake - это автоматическое связывание модели с каждым контроллером. Соглашение состоит в том, что ассоциированная модель будет единственным в имени контроллера, поэтому UsersController автоматически загрузит модель с именем User, PeopleController автоматически загрузит модель с именем Person. Модели, которые автоматически загружаются таким образом, становятся доступными в качестве атрибутов вашего объекта контроллера.

Вы можете выбрать, какие модели будут автоматически загружаться для контроллера, установив атрибут $ users объекта контроллера в массив, содержащий имена моделей, которые вы хотите загрузить, хотя это обычно считается плохой практикой из-за проблем с производительностью.

Вы также можете установить для атрибута $ used значение false, если вы не хотите связывать какую-либо модель с вашим контроллером.

Чтобы загрузить экземпляры модели на более позднем этапе в вашем контроллере, вы можете вызвать $ this-> loadModel ('Cow') и $ this-> Cow теперь будет содержать ссылку на вашу модель Cow.

1 голос
/ 16 июня 2009

Из руководства * CakePHP - Начиная с Cake

В этом руководстве предполагается, что у вас есть общее понимание PHP и базовое понимание объектно-ориентированного программирования (ООП).

В сети существуют тысячи сайтов, которые объясняют вам ООП и PHP. Вот два случайных.

Объектно-ориентированное программирование и Объектно-ориентированное программирование с PHP

$this // is the current class
$this->User // is the calling the Model User 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...