zend 2:覆盖config \ autoload \ global.php中的'db'配置,local.php中的特定模块

时间:2014-03-03 15:25:16

标签: zend-framework2

我想确保这种方式与我认为的方式相同。

我在myapp / config / autoload / global.php中设置了DB信息,如下所示:

return array(
    'db' => array(
        'driver' => 'Pdo',
        'dsn' => 'mysql:dbname=zf2tutorial;host=localhost',
        'driver_options' => array(
            PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
        ),
    ),
...

现在我正在搞乱一个新模块,并希望用不同的数据库配置该特定模块。如果我向NewModule / config / module.config.php添加一个'db'配置数组,它会覆盖全局配置吗?我不确定应用程序范围的global.php文件是否与特定于模块的配置文件相同,或者它是否具有特殊规范 - 如接受数据库配置而不接受数据库配置文件。

编辑:我试过这个,看来我在module.config中添加的db条目被完全忽略了。如何覆盖每个模块的db配置?这对测试来说非常方便。

1 个答案:

答案 0 :(得分:2)

  

如果我向NewModule / config / module.config.php添加'db'配置数组,它会覆盖全局配置吗?

是。所有配置都合并到一个怪物阵列中。

ZF支持多个适配器,你只需要在代码中按名称引用它们,这样它就知道你想要哪一个。有关如何设置的详细信息,请参阅此博文:http://samsonasik.wordpress.com/2013/07/27/zend-framework-2-multiple-named-db-adapter-instances-using-adapters-subkey/