簡體   English   中英

ZF2 Config:覆蓋數組值

[英]ZF2 Config: Overriding array values

在ZF2的模塊配置中,我有一些值,這些值是由用於圖像處理的標志組成的數組。

我需要能夠逐個項目地覆蓋它們,但是當我嘗試將其簡單地合並兩個數組時。 顯然,我可以使用鍵來覆蓋這種方式,但是我需要能夠整體替換這些值,因為並非所有項目都需要所有標志。

有沒有一種方法可以完全覆蓋一個數組值而不是合並數組?

干杯

我需要能夠整體替換值,因為並非所有項目都需要所有標志

如果您有多個共享同一模塊的ZF2安裝,但它們的配置只是不同,因此僅定義在項目之間沒有區別的配置值將是有意義的。

然后,您將在全局配置文件(例如config/autoload/module.foo-module.global.config )中設置項目特定的值。

所有第三方模塊都使用此方法。 例如,Doctrine 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.doctrine-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',
                ),
             ),
        ),
    ),
);

主要區別在於您不是要刪除配置值,而是要添加 這使您的每個模塊都具有更高的可重用性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM