Proporcionar la configuración según el entorno es una tarea bastante común, y hay muchas otras formas de manejar esto.
Variables de entorno
En caso de que el entorno lo permita, podría utilizar variables de entorno. Puede proporcionar fácilmente la configuración de la base de datos a través de DATABASE_URL
variable en forma de una cadena de conexión DSN como
mysql://user:[email protected]/production?encoding=utf8&timezone=UTC&cacheMetadata=true
Recetario> Configuración> Variables de entorno
Archivos de configuración adicionales
Otra opción es cargar archivos de configuración separados/adicionales en función del entorno actual, de modo que pueda implementar solo los archivos que realmente se requieren para un entorno específico.
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);
Recetario> Configuración> Cargar archivos adicionales Archivos de configuración
Alias de conexión
Y también hay alias de conexión, CakePHP lo hace automáticamente en el entorno de prueba. Digamos que tiene un default
y una production
confirmación, podría crear un alias para la production
conexión como default
en su entorno de producción, de modo que en todas partes su código intente usar el default
conexión, en realidad usará la production
uno.
\Cake\DataSource\ConnectionManager::alias('production', 'default');
API> \Cake\DataSource\ConnectionManager::alias()