Fornire la configurazione in base all'ambiente è un'attività piuttosto comune e ci sono molti altri modi per gestirlo.
Variabili d'ambiente
Nel caso in cui l'ambiente lo consenta, è possibile utilizzare le variabili di ambiente. Puoi facilmente fornire la configurazione del DB tramite il DATABASE_URL
variabile sotto forma di una stringa di connessione DSN come
mysql://user:[email protected]/production?encoding=utf8&timezone=UTC&cacheMetadata=true
Ricettario> Configurazione> Variabili d'ambiente
File di configurazione aggiuntivi
Un'altra opzione consiste nel caricare file di configurazione separati/aggiuntivi in base all'ambiente corrente, in modo da poter distribuire solo i file effettivamente necessari per un ambiente specifico.
Configure::load('app', 'default', false);
// $enviroment needs to be validated /sanitzied in order to
// avoid loading arbitrary files from the config directory
Configure::load($enviroment, 'default', true);
Ricettario> Configurazione> Caricamento aggiuntivo File di configurazione
Aliasing connessione
E c'è anche l'alias di connessione, CakePHP lo fa automaticamente nell'ambiente di test. Supponi di avere un default
e una production
configurazione, potresti quindi alias la production
connessione come default
nel tuo ambiente di produzione, in modo che ovunque il tuo codice tenti di utilizzare il default
connessione, utilizzerà effettivamente la production
uno.
\Cake\DataSource\ConnectionManager::alias('production', 'default');
API> \Cake\DataSource\ConnectionManager::alias()