Php 在Zend Framework 2中访问全局配置
我想访问我个人库中的全局配置(Php 在Zend Framework 2中访问全局配置,php,zend-framework2,service-locator,Php,Zend Framework2,Service Locator,我想访问我个人库中的全局配置(config/{,*.}{global,local}.php),这些配置位于供应商目录中。 但是,尽管我在网上搜索,我没有成功地做到这一点 我知道如何访问模块的配置文件: \MyModule\Module::getConfig() 我知道如何从控制器访问全局配置: $this->getServiceLocator()->get('config'); 但是如何从供应商目录中的文件访问这些文件呢? 我的库没有扩展任何内容,这可能是问题的根源吗? 我可以使
config/{,*.}{global,local}.php
),这些配置位于供应商
目录中。
但是,尽管我在网上搜索,我没有成功地做到这一点
我知道如何访问模块的配置文件:
\MyModule\Module::getConfig()
我知道如何从控制器访问全局配置:
$this->getServiceLocator()->get('config');
但是如何从供应商目录中的文件访问这些文件呢?
我的库没有扩展任何内容,这可能是问题的根源吗?
我可以使用静态方法访问这些吗
谢谢。您可以通过serviceManager获得。 在控制器中:
$config = $this->getServiceLocator()->get('Config');
否则,同样的方式,只需要服务管理器,对于Module.php中的eaxmple:
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;
在public/index.php中定义
APPLICATION\u PATH
,您不能通过Zend\\namespace访问配置工厂中的读取器吗?但是,难道供应商不应该从Zend模式中分离出来吗?您不能添加/覆盖模块配置吗?您好,谢谢您的评论。事实上,您是对的,我不应该尝试在我的供应商目录中使用zend配置文件。