簡體   English   中英

ZF2全局配置設置

[英]ZF2 global config settings

我的目標是在Zend Framework 2項目的每個模塊中共享和編輯配置設置。 經過研究,我來到了這里: http : //akrabat.com/zend-framework-2/injecting-configuration-into-a-zf2-controller/起初效果很好,但是在我的應用程序不斷擴展到更多模塊之后,控制器,我不喜歡這種解決方案。 確切地說,我不喜歡必須“實現”接口,添加SetConfig方法等等。 相反,我希望能夠僅在控制器中調用$ GLOBALS或類似名稱並獲取感興趣的參數。

說我有一個具有以下格式的文件config.local.php:

    return array(
    'group1' => array(
        'key1' => 'value1',
        'key2' => 'value2',
    )

   'group2' => array (
        'subgroup' => array (
             'keyA' => 'valueA',
             'keyB' => 'valueB',
        ),
    )
);

現在,我正在遵循上面的教程,並在我的控制器中實現了ConfigAwareInterface之后,使用

$this->config['group2']['subgroup']['keyA']

我現在希望僅在沒有ConfigAwareInterface中間對象的情況下調用$ GLOBALS ['group2'] ['subgroup'] ['keyA']。

我放置了以下快速偽代碼來幫助實現這一目標:

for every this->config as key => value 
    if $key is not array
        $GLOBALS[$key] => $value
    else 
        for every $value as $k => $v
            $GLOBALS[$key][$k] => $value

由於ZF2和php是我的新手,因此我不確定我是否可以為$ GLOBALS使用多個索引/嵌套鍵,但是我可以定制配置文件來避免這種情況。

上面可能還有其他邏輯錯誤。 但是只是為了指出要點。 現在,這是進行全局配置的最佳方法還是有更好的方法?

提前致謝。

您始終可以通過以下方式輕松訪問配置:

$this->getServiceLocator()->get('config');

Akrabat所做的是提供shortHand getConfig() -

暫無
暫無

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

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