2014-09-18 3 views
0

В моем модуле конфигурации в ZF2 у меня есть несколько значений, которые представляют собой массивы, состоящие из флагов для манипуляций с изображениями.ZF2 Config: переопределение значений массива

Мне нужно уметь переопределять их по проекту по проектам, однако, когда я пытаюсь это просто слить 2 массива. Очевидно, что я могу использовать ключи, чтобы переопределить этот путь, однако мне нужно иметь возможность заменить значения в целом, так как не все флаги потребуются для всех проектов.

Есть ли способ полностью переопределить значение, когда это массив, а не слияние массивов?

Приветствия

ответ

1

Мне нужно, чтобы иметь возможность заменить значения в целом, а не все флаги будут необходимы во всех проектах

Если у вас есть несколько установок 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.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', 
       ), 
      ), 
     ), 
    ), 
); 

Основное различие заключается в что вы не удаление значения конфигурации, но добавлено. Это делает каждый из ваших модулей намного более многоразовым.

Смежные вопросы