Вы должны знать о различных местах, в которых Cake Helpers автоматически ищут данные, поскольку именно в этом они действительно имеют значение. Помощник по формам будет заполнять поля автоматически на основе содержимого $this->data
. Вот как данные формы сохраняются при сбое проверки. OTOH, массив опций <select>
elements автоматически берется из имени поля во множественном числе,
например $form->select('Model.foo_id')
примет его параметры от $foos
, если установлено.
Таким образом, $this->data
занимает свое особое место и не должен использоваться легкомысленно, точно так же, как именованные переменные имеют свое использование и не должны игнорироваться. Используйте оба по мере необходимости. Если вы не хотите автоматически устанавливать содержимое помощника по формам, set()
свои переменные. ИМХО, также более читабельно назначать имя переменной, которая намекает на данные, которые она содержит. Все ваши представления, работающие на $this->data
, менее ясны, чем одно представление, работающее на $foo
, а другое на $bar
.