Zend: как мне поделиться общим кодом между помощниками вида и действиями? - PullRequest
0 голосов
/ 17 февраля 2012

Мне нужно логическое значение из комбинации некоторой конфигурации и вызова внешнего веб-сервиса.

Логическое значение требуется в файле макета каждого представления. Это также необходимо для нескольких избранных контроллеров.

У меня есть и действие, и помощник вида, которые получают необходимое значение от внешнего веб-сервиса.

Сейчас я создал и помощник вида, и помощник действий с дублированной логикой для проверки внешнего веб-сервиса и значений конфигурации, но мне кажется, что должен быть способ поделиться этим общим кодом между помощниками.

Есть ли лучший способ?

Спасибо!

1 Ответ

1 голос
/ 17 февраля 2012

Вы должны иметь возможность выполнять обе задачи с помощью помощника действий. Возможно, вы захотите взглянуть на это сообщение в блоге из MWOP: http://mwop.net/blog/235-A-Simple-Resource-Injector-for-ZF-Action-Controllers, где он использует помощник действий для назначения ресурсов из начальной загрузки контроллеру. Вы хотели бы использовать аналогичный подход, за исключением того, что вы устанавливаете свою логическую переменную на контроллере. Вы также получаете доступ к объекту View из помощника, используя:

$view = Zend_Layout::getMvcInstance()->getView();
$view->yourBooleanVar = 'whatever';

, который вы можете получить в своих представлениях как обычно.

...