Zend Framework - чтение значений Application.ini из контроллера - PullRequest
5 голосов
/ 29 марта 2010

Я пытаюсь сохранить ключ API Карт Google в своем файле application.ini, и я хотел бы иметь возможность читать его с моего контроллера, когда это необходимо. Как я могу читать значения из application.ini с моего контроллера?

Спасибо!

Ответы [ 3 ]

5 голосов
/ 29 марта 2010

Эта статья может вам помочь. Автор объясняет, как получить параметры подключения к gmail из файла application.ini.

Возможно, вы захотите попробовать:

$bootstrap = $this->getInvokeArg('bootstrap');
$aConfig = $bootstrap->getOptions();
googleMapsKey = $aConfig['your_resource']['your_key'];
5 голосов
/ 29 марта 2010

Я склонен делать это в начальной загрузке, а затем, как Гордон упоминает, бросить это в реестре. Затем вы можете получить его в любом месте из реестра.

$this->config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV);
Zend_Registry::set('config', $this->config);

Кроме того, с его точки зрения, контроллер, как правило, является неподходящим местом для него, если, конечно, вы не обращаетесь к API с несколькими ключами, но даже тогда вы сможете разместить логику в модели для выбора. ключ из реестра.

3 голосов
/ 29 марта 2010

Либо через FrontController

// bootstrap
$front->setParam('GMapsApiKey', 123456);

// controller
$this->getFrontController()->getParam('GMapsApiKey');

или Реестр:

// bootstrap
Zend_Registry::set('GMapsApiKey', '123456');

// controller
Zend_Registry::get('GMapsApiKey');

Однако, поскольку доступ к API Карт Google происходит в модели, вашему контроллеру не нужно знать ключ API.

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