Come si può leggere application.ini sul controller usando il framework zend

Ho queste righe nella mia application.ini

come posso leggere l' utente nel mio controlo?

resources.doctrine.dbal.connections.default.parameters.driver = "pdo_mysql" resources.doctrine.dbal.connections.default.parameters.dbname = "zc" resources.doctrine.dbal.connections.default.parameters.host = "localhost" resources.doctrine.dbal.connections.default.parameters.port = 3306 resources.doctrine.dbal.connections.default.parameters.user = "root" resources.doctrine.dbal.connections.default.parameters.password = "123456" 

Uso questo codice ma ritarda nullo

 $bootstrap = Zend_Controller_Front::getInstance()->getParam('bootstrap'); $user = $bootstrap->getOption('user'); var_dump($user); 

modifica: come posso leggere tutte le opzioni di connessione ?

Penso che dovresti usare

 $this->getInvokeArgs('bootstrap'); 

Per maggiori informazioni consultare questo capitolo nel manuale.

Che dire dell'utilizzo

 $conf = $bootstrap->getOption('resources'); $dbConf = $conf['doctrine']['dbal']['connections']['default']['parameters']; 

Che ne dici di qualcosa come:

 $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV); $connectionParams = $config->resources->doctrine->connections; 

Oppure durante Bootstrap , crea e salva questo $config object nel Bootstrap o in Zend_Registry per il successivo recupero nel tuo controller.

Questo va nel tuo controller.

 $bootstrap = $this->getInvokeArg('bootstrap'); $appinidata = $bootstrap->getOptions(); $user=$appinidata['resources']['doctrine']['dbal']['connections']['default']['parameters'] ['user']; 

Questo dovrebbe printingre "root".

 print_r($user); 

Per get la risorsa contenitore Doctrine, usa semplicemente:

 $bootstrap = $this->getInvokeArg('bootstrap'); $doctrine = $bootstrap->getResource('doctrine'); 

Da lì è ansible eseguire il drill down sul nome utente della connessione predefinita (è ansible specificare la connessione se necessario, basta passare il nome della connessione nella chiamata a getConnection):

 $username = $doctrine->getConnection()->getUsername(); 

In questo caso dovresti usare la class Zend_Config_Ini

 $config = new Zend_Config_Ini('/path/to/config.ini','staging',$options); 

il secondo parametro è una sezione nel file INI che deve essere caricata; terzo parametro è la chiave per consentire la modifica del file caricato.

Puoi mettere fuori valore utente in questo modo:

 $config->resources->doctrine->dbal->connections->default->parameters->user; 

puoi impostare qualsiasi variabile usando il metodo set come segue su index.php all'interno della cartella pubblica Let

$ config = 'test'; Zend_Registry :: set ('config', $ config);

una volta impostata la variabile, è ansible accedere a qualsiasi controller / model seguendo il metodo

Zend_Registry :: get ( 'config');

Hop it aiuta !!