Zend-Framework View Helper - это конкретный вид, связанный? - PullRequest
0 голосов
/ 02 февраля 2011

Когда мы создадим помощник вида в приложении Zend, будет ли этот помощник доступен для ВСЕХ представлений или мы должны как-то сказать, что этот помощник вида доступен для определенного представления?Что делать, если в папке просмотра «что-то» у нас есть более одного файла?Любой из этих файлов может назвать это?

Большое спасибо, MEM

1 Ответ

2 голосов
/ 02 февраля 2011

Когда вы вызываете помощника вида, платформа будет искать пути, определенные с помощью $view->addHelperPath(). Как правило, такой вызов будет включать в себя псевдо-пространство имен, а также путь:

$view->addHelperPath('My/View/Helper', 'My_View_Helper_');

Затем, когда вы вызываете помощника вида в макете или скрипте вида:

<?php echo $this->someHelper() ?>

Платформа выполнит поиск LIFO, добавляя префиксы (в указанном выше случае: 'My_View_Helper_') к имени класса 'SomeHelper', а затем пытается загрузить файл, определенный отображением addHelperPath().

В настройках по умолчанию платформа предварительно загружает помощники представления Zend, вызывая:

$view->addHelperPath('Zend/View/Helper', 'Zend_View_Helper_');

, поэтому вы можете использовать все предоставляемые Zend помощники для просмотра прямо из коробки.

Поскольку вся эта обработка не зависит от того, какой скрипт представления выполняет вызов, он будет работать в любом скрипте представления. [На самом деле есть некоторые проблемы, связанные с вызовом помощников вида, определенных в других модулях, но это отдельная проблема.]

...