Bei der Skeleton Application ist die System Konfiguration in /config/application.config.php
. Und dort unter dem Key module_listener_options steht so etwas:
// An array of paths from which to glob configuration files after // modules are loaded. These effectively override configuration // provided by modules themselves. Paths may use GLOB_BRACE notation. 'config_glob_paths' => array( 'config/autoload/{{,*.}global,{,*.}local}.php', ),
Also, ZF2 überschreibt/merged die Modulkonfiguration mit denen in config/autoload/
. Priorität hat global über Modul und local über global.
Ist ein Array Value(s) in der config ein Null indiziertes Array, werden die Values, falls doppelt, NICHT in der obigen Priorität ersetzt. Also kein array_unique(). Man bekommt doppelte, oder mehr, Values.
Habe ich z.B. folgendes in meiner MyModule/config/module.config.php
'my_module' => [ 'some_module_conf' => [ 'first', 'second' ] ]
Und um beim Deployen nicht diese ureigene Config zu verändern weil sie in einer Versionsverwaltung ist, habe ich unter [webroot]/config/autoload/
eine Datei merged-modules.local.php
und eine merged-modules.global.php
mit den verschiedenen Configs der verschiedenen Module meiner Application.
return [ 'my_module' => [ 'some_module_conf' => [ 'first', 'second' ] ], 'other_module' => [ 'other_module_stuff' => [ 'somekey' => 4, ] ] ];
Mache ich es wie oben gezeigt erhalte ich doppelte Values und zwar aus jeder Config die ZF2 merged. In diesem Fall sähe das so nach dem Mergen aus:
'my_module' => [ 'some_module_conf' => [ 'first', 'second', 'first', 'second', 'first', 'second' ] ],
Um das zu verhindern und jede Value nur einmal zu haben ändere ich die Null Indizierung:
In der MyModule/config/module.config.php
:
'my_module' => [ 'some_module_conf' => [ 'first' => 'first', 'second' => 'second', ] ],
Und auch in den [webroot]/config/autoload/{{,*.}global,{,*.}local}.php
:
return [ 'my_module' => [ 'some_module_conf' => [ 'first' => 'first', 'second' => 'second', ] ], 'other_module' => [ 'other_module_stuff' => [ 'somekey' => 4, ] ] ];