At levere konfiguration afhængigt af miljøet er en ret almindelig opgave, og der er en hel del andre måder at håndtere dette på.
Miljøvariabler
Hvis miljøet tillader det, kan du bruge miljøvariabler. Du kan nemt levere DB-konfiguration via DATABASE_URL
variabel i form af en DSN-forbindelsesstreng som
mysql://user:[email protected]/production?encoding=utf8&timezone=UTC&cacheMetadata=true
Kogebog> Konfiguration> Miljøvariabler
Yderligere konfigurationsfiler
En anden mulighed er at indlæse separate/yderligere konfigurationsfiler baseret på det aktuelle miljø, så du kun kan implementere de filer, der faktisk er nødvendige for et specifikt miljø.
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);
Kogebog> Konfiguration> Indlæser yderligere Konfigurationsfiler
Forbindelsesaliasing
Og der er også forbindelsesaliasing, det gør CakePHP automatisk i testmiljøet. Lad os sige, at du har en default
og en production
konfiuration, kan du derefter kalde production
forbindelse som default
i dit produktionsmiljø, så din kode overalt forsøger at bruge default
forbindelse, vil den faktisk bruge production
en.
\Cake\DataSource\ConnectionManager::alias('production', 'default');
API> \Cake\DataSource\ConnectionManager::alias()