在Apigility驱动的Zend Framework 2应用程序中,创建了一个数据库适配器(通过Apigility Admin UI),默认情况下其设置保存在/config/autoload/global.php
return array(
'db' => array(
'adapters' => array(
...
'DbAdapter_FooBar' => array(),
...
),
),
...
);
并在/config/autoload/local.php
return array(
'db' => array(
'adapters' => array(
...
'DbAdapter_FooBar' => array(
'charset' => 'UTF-8',
'database' => 'asdf',
'driver' => 'PDO_Mysql',
'hostname' => 'asdf',
'username' => 'asdf',
'password' => 'asdf',
'port' => '1234',
'driver_options' => array(
1002 => 'SET NAMES \'UTF8\'',
),
),
...
),
),
...
);
在应用程序中,我处理配置文件结构与ZF2标准不同,例如:数据库设置有单独的配置文件:/config/autoload/mydb.global.php
和/config/autoload/mydb.local.php
。
(如何)可以配置Apigility,数据库适配器设置是否存储在自定义配置文件中?如何/在何处设置这些文件?
答案 0 :(得分:0)
可以在多个位置提供各种组件的配置,但所有配置都通过Zend\Stdlib\ArrayUtils::merge()
方法递归合并到一个大型配置文件中。由于配置是递归合并的,因此将它们添加到合并配置数组的顺序对于避免意外覆盖非常重要。
配置按以下顺序合并:
array
方法getConfig()
config/autoload/*.global.php
- 全局自动加载文件config/autoload/*.local.php
- 本地自动加载文件get*Config()