Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ZF2配置:覆盖数组值_Php_Configuration_Zend Framework2 - Fatal编程技术网

Php ZF2配置:覆盖数组值

Php ZF2配置:覆盖数组值,php,configuration,zend-framework2,Php,Configuration,Zend Framework2,在ZF2中配置的模块中,有几个值是由用于图像处理的标志组成的数组 我需要能够在一个项目一个项目的基础上覆盖这些,但是,当我尝试覆盖时,它只是合并了两个数组。显然,我可以使用键来覆盖这种方式,但是我需要能够整体替换这些值,因为并非所有项目都需要所有标志 当值是数组而不是合并数组时,是否有方法完全重写该值 干杯 我需要能够作为一个整体替换这些值,因为并非所有项目都需要所有的标志 如果您有多个共享同一模块的ZF2安装,而它们只是在配置上有所不同,那么只定义项目之间没有差异的配置值是有意义的 然后,将在

在ZF2中配置的模块中,有几个值是由用于图像处理的标志组成的数组

我需要能够在一个项目一个项目的基础上覆盖这些,但是,当我尝试覆盖时,它只是合并了两个数组。显然,我可以使用键来覆盖这种方式,但是我需要能够整体替换这些值,因为并非所有项目都需要所有标志

当值是数组而不是合并数组时,是否有方法完全重写该值

干杯

我需要能够作为一个整体替换这些值,因为并非所有项目都需要所有的标志

如果您有多个共享同一模块的ZF2安装,而它们只是在配置上有所不同,那么只定义项目之间没有差异的配置值是有意义的

然后,将在全局配置文件中设置特定于项目的值(例如,
config/autoload/module.foo module.global.config

所有第三方模块都使用此方法;例如,ODM的
module.config.php
如下所示:

return array(
    'doctrine' => array(

        'connection' => array(
            'odm_default' => array(
                'server'           => 'localhost',
                'port'             => '27017',
                'connectionString' => null,
                'user'             => null,
                'password'         => null,
                'dbname'           => null,
                'options'          => array()
            ),
         ),
    ),
);
在每个项目中,我都会覆盖(在您的案例中是添加)module.mongo odm.global.php中的特定配置

主要区别在于,您并没有删除配置值,而是添加了配置值。这使得您的每个模块都更加可重用

return array(
    'doctrine' => array(

        'connection' => array(
            'odm_default' => array(
                'server'    => '10.0.7.9',
                'dbname'    => 'my_database_name',
                'options'   => array(
                    'foo' => 'bar',
                ),
             ),
        ),
    ),
);