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 !!