Dostarczanie konfiguracji w zależności od środowiska jest dość powszechnym zadaniem i istnieje wiele innych sposobów na radzenie sobie z tym.
Zmienne środowiskowe
Jeśli środowisko na to pozwala, możesz użyć zmiennych środowiskowych. Możesz łatwo podać konfigurację bazy danych przez DATABASE_URL zmienna w postaci ciągu połączenia DSN, jak
mysql://user:example@sqldat.com/production?encoding=utf8&timezone=UTC&cacheMetadata=true
Książka kucharska> Konfiguracja> Zmienne środowiskowe
Dodatkowe pliki konfiguracyjne
Inną opcją jest załadowanie oddzielnych/dodatkowych plików konfiguracyjnych w oparciu o bieżące środowisko, dzięki czemu można wdrożyć tylko te pliki, które są faktycznie wymagane w określonym środowisku.
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);
Książka kucharska> Konfiguracja> Ładowanie dodatkowych Pliki konfiguracyjne
Aliasing połączeń
Jest też aliasowanie połączeń, CakePHP robi to automatycznie w środowisku testowym. Załóżmy, że masz default i production konfiguracji, możesz wtedy aliasować production połączenie jako default w Twoim środowisku produkcyjnym, dzięki czemu wszędzie Twój kod próbuje użyć default połączenie, faktycznie użyje production jeden.
\Cake\DataSource\ConnectionManager::alias('production', 'default');
API> \Cake\DataSource\ConnectionManager::alias()