Как вы включаете файлы PHP в файл представления Zend / MVC? - PullRequest
0 голосов
/ 28 января 2011

Возможно, я недостаточно хорошо понимаю соглашение MVC, но я пытаюсь включить файл в представление index.phtml для основного контроллера индекса, и он продолжает выдавать ошибку приложения.Я понятия не имею, что это за ошибка или почему она не работает.Но я использую стандартный include_once (...) в представлении.

Это даже разрешено?

Ответы [ 5 ]

3 голосов
/ 28 января 2011

Представление в Zend - это всего лишь php-файл. Если вы получаете ошибки в представлении с использованием include_once (), возможно, это связано с тем, что нужный файл не может быть найден в вашем пути включения. Попробуйте сбросить в представлении get_include_path (), и вы увидите, какие каталоги ищет PHP, чтобы найти ваш включенный файл.

В качестве альтернативы include_once вы можете использовать

<? echo $this->render('{module}/{action}.phtml') ?>

чтобы загрузить файл.

2 голосов
/ 28 января 2011

Представление - это только HTML-код, который будет отображаться. Это самая последняя вещь, которая обрабатывается. Сначала вызывается контроллер, затем он вызывает все необходимые модели. После передачи всех данных представлению отображается HTML представления.

Вкратце: что бы вы ни включали в представление, контроллер не знает об этом. Вы должны запустить свой PHP, включенный ранее в коде. Если вы делаете это в контроллере, он должен работать нормально, я полагаю (не проверял, поэтому я ничего не гарантирую).

2 голосов
/ 28 января 2011

Для этой цели есть частичные представления

http://framework.zend.com/manual/en/zend.view.helpers.html (ctrl + f Partial Helper)

0 голосов
/ 15 марта 2012

в прошлый раз у меня это нормально работает.Вы можете попробовать это:

    <?php echo $this->partial('common/left_menu.phtml'); ?> 
0 голосов
/ 09 мая 2011

Вы можете использовать Zend View Helpers для этой цели

...