Zend Framework: Могу ли я установить переменную View внутри модели? - PullRequest
0 голосов
/ 09 января 2012

В моем контроллере я обычно делаю:

$this->view->foo = "bar";

(я называю это переменными, как VIEW-VARS)

В скрипте вида, я отрисовываю это с помощью:

echo $this->foo;

Итак, мне интересно, возможно ли определить «переменные вида» внутри моделей (не в контроллерах), которые можно отобразить в сценариях вида.

Ответы [ 2 ]

1 голос
/ 09 января 2012

Игнорируя тот факт, что модель действительно не должна отвечать за настройку представления, существуют случаи, когда это разрешено (например, шаблон ViewModel).Существует несколько способов получения или предоставления экземпляра представления:

  • Вставка экземпляра представления.Из контроллера вы можете предоставить модели экземпляр, внедрив его ($model->setView($this->view)).
  • Получить экземпляр представления с помощью помощника ViewRenderer: $view = Zend_Controller_Action_HelperBroker::getExistingHelper('ViewRenderer')->view;
  • Получить экземпляр представления с помощьюПриложение начальной загрузки: $view = Zend_Controller_Front::getInstance()->getParam('bootstrap')->bootstrap('view')->getResource('view');
1 голос
/ 09 января 2012

Назначение информации для представления - это работа контроллера, и выполнение того, что вы предлагаете, запятнало бы границы шаблона MVC.

То, что вы действительно должны сделать, это назначить модель для представления(в контроллере), а затем получить доступ к различным частям модели в представлении.Кроме того, вы можете назначить только соответствующие части модели в вашем контроллере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...