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:example@sqldat.com/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()