Я хотел бы получить доступ к моим глобальным config/{,*.}{global,local}.php
( config/{,*.}{global,local}.php
), расположенным в моих личных библиотеках (в каталоге vendor
). Но, несмотря на мой поиск в Интернете, мне этого не удалось.
Я знаю, как получить доступ к конфигурационному файлу модуля:
\MyModule\Module::getConfig()
Я знаю, как получить доступ к глобальным конфигурациям с контроллера:
$this->getServiceLocator()->get('config');
Но как получить доступ к ним из файла внутри каталога поставщика? Мои библиотеки ничего не расширяют, это может быть корень проблемы? Могу ли я использовать статический метод для доступа к ним?
Благодарю.
Вы можете получить его через serviceManager. В контроллере:
$config = $this->getServiceLocator()->get('Config');
В противном случае, вам нужен диспетчер сервисов, например, в Module.php:
public function getConfig() { return include __DIR__ . '/config/module.config.php'; } public function getServiceConfig() { return array( 'factories' => array( 'mail.transport' => function($sm) { $config = $sm->get('Config'); switch($config['mail']['transport']['type']){ ..................
простой способ сделать это. не только в модуле, но и в любом месте.
$config = new \Zend\Config\Config( include APPLICATION_PATH.'/config/autoload/global.php' ); echo $config->myconfig;
укажите APPLICATION_PATH
в public / index.php