У меня есть приложение Zend Framework на основе настройки quick-start.Как я могу получить доступ к конфигурации приложения Zend Framework с контроллера?
Я получил демоверсии, и теперь я собираюсь создать экземпляр нового класса модели для выполнения реальной работы. В моем контроллере я хочу передать параметр конфигурации (указанный в application.ini) к моей модели конструктора, что-то вроде этого:
class My_UserController extends Zend_Controller_Action
{
public function indexAction()
{
$options = $this->getFrontController()->getParam('bootstrap')->getApplication()->getOptions();
$manager = new My_Model_Manager($options['my']);
$this->view->items = $manager->getItems();
}
}
В приведенном выше примере делает разрешить доступ к параметрам, но, кажется, чрезвычайно окольным , Есть ли лучший способ доступа к конфигурации?
Это займет немного работы, чтобы повторно разбить массив на объект. Если вы предпочитаете иметь конфигурацию в виде массива, это просто «Zend_Registry :: set (« config », $ this-> getOptions()); хотя вам придется вывести его в переменную, прежде чем получить значение. –
@Alister: Вы правы, тем быстрее будет хранить параметры-массивы в реестре, но хранение массива каждый раз, когда вы хотите получить одно значение, может быть громоздким. –
Это не отличается от идеи $ GLOBALS ['application'] ниже, с дополнительным преимуществом, что $ GLOBALS ['application'] работает, вероятно, в 99% случаев. –