Eventuali duplicati:
How could read application.ini on controller using zend frameworkCome recuperare i parametri dal file Zend application.ini durante la sessione?
application.ini
è un file di configurazione in ZF. Ho alcune impostazioni in più rispetto alle impostazioni predefinite di ZF. Ad esempio, come posso recuperare questi parametri dai miei controller di azione? E dove è meglio memorizzare questa configurazione durante la sessione?
La classe Bootstrap_Abstract
ha getOptions()
metodo che restituisce un semplice array PHP di leggere file di application.ini
:
$app = new Zend_Application(APPLICATION_ENV, '/application.ini');
$config = $app->bootstrap()->getOptions(); // $config is a php array of application.ini
E mi piacerebbe avere elemento formarlo oop-style:
$param = $config[one][two]; // vs.
$param = $config->one->two; // like this
ZF ha la classe Zend_Config_Ini
che legge .ini
e restituisce esattamente ArrayObject. Ma mi piacerebbe evitare di leggere application.ini
con Zend_Config_Ini
ancora una volta dopo che Zend_Application
ha comunque già letto. Le classi Bootstrap
o Zend_Application
non forniscono alcuna creazione automatica di ArrayObject da application.ini
.
E il secondo, dove posso memorizzare questo $ config, quindi? In Zend_Registry
?
Zend_Registry::set('config', $config);
E poi nel mio alcuni controller di azione che recuperare è:
$config = Zend_Registry::get('config'); // I retrieve config
$param = $config->one->two; // I retrieve parameter from it and use it
ma sembra un po 'inefficiente: ho una copia del application.ini
nel Bootstrap
sotto forma di ordine solito php e uno copia dello stesso application.ini
ma sotto forma di ArrayObject in Zend_Registry
. E devo fare due passi per ottenere un parametro dalla mia configurazione. Come posso risolvere questo problema in modo più efficiente?
Vedere anche http://akrabat.com/zend-framework/accessing-your-configuration-data-in-application-ini/ – Phil