¿Cómo usar las configuraciones global.php / local.php en el getConfig () de un módulo en una aplicación Zend Framework 2?
En una aplicación ZF2 tengo algunos cofigs que: 1. necesitan ser diferentes según el entorno; 2. Son específicos para un módulo de hormigón. Lo estoy usando actualmente comoaquí descrito:
global.php y local.php
return array(
...
'modules' => array(
'Cache' => array(
'ttl' => 1, // 1 second
)
)
...
);
Clase de modulo
Module {
...
public function getServiceConfig() {
try {
return array (
'factories' => array(
'Zend\Cache\Adapter\MemcachedOptions' => function ($serviceManager) {
return new MemcachedOptions(array(
'ttl' => $this->getConfig()['modules']['Cache']['ttl'],
...
));
},
...
)
);
}
...
}
...
}
Está funcionando bien, pero creo que se debe acceder a la configuración específica del módulo en un lugar central del módulo: lagetConfig()
método de laModule
clase. Me gusta esto:
class Module {
public function getConfig() {
$moduleConfig = include __DIR__ . '/config/module.config.php';
$application = $this->getApplicationSomehow(); // <-- how?
$applicationModuleConfig = $application->getConfig()['modules'][__NAMESPACE__];
$config = array_merge($moduleConfig, $applicationModuleConfig);
return $config;
}
...
public function getServiceConfig() {
try {
return array (
'factories' => array(
'Zend\Cache\Adapter\MemcachedOptions' => function ($serviceManager) {
return new MemcachedOptions(array(
'ttl' => $serviceManager->get('Config')['modules']['Cache']['ttl'],
...
));
},
...
)
);
}
...
}
...
}
El problema es que no entiendo cómo acceder a las configuraciones global.php / local.php en elgetConfig()
de un modulo. ¿Cómo puedo hacerlo?