Предоставянето на конфигурация в зависимост от средата е доста често срещана задача и има доста други начини за справяне с това.
Променливи на средата
В случай, че средата позволява това, можете да използвате променливи на средата. Можете лесно да предоставите конфигурация на DB чрез DATABASE_URL
променлива под формата на низ за връзка с DSN като
mysql://user:[email protected]/production?encoding=utf8&timezone=UTC&cacheMetadata=true
Готварска книга> Конфигурация> Променливи на средата
Допълнителни конфигурационни файлове
Друга възможност е да заредите отделни/допълнителни конфигурационни файлове въз основа на текущата среда, така че да можете да разгръщате само онези файлове, които всъщност са необходими за конкретна среда.
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);
Готварска книга> Конфигурация> Зареждане на допълнителни Конфигурационни файлове
Псевдоним на връзката
Освен това има псевдоним на връзката, CakePHP прави това автоматично в тестовата среда. Да речем, че имате default
и production
confiuration, тогава можете да псевдоним на production
връзка като default
във вашата производствена среда, така че навсякъде вашият код да се опитва да използва default
връзка, той всъщност ще използва production
едно.
\Cake\DataSource\ConnectionManager::alias('production', 'default');
API> \Cake\DataSource\ConnectionManager::псевдоним ()