Fornecer configuração dependendo do ambiente é uma tarefa bastante comum, e existem várias outras maneiras de lidar com isso.
Variáveis de ambiente
Caso o ambiente permita, você pode usar variáveis de ambiente. Você pode fornecer facilmente a configuração do banco de dados por meio do
DATABASE_URL variável na forma de uma string de conexão DSN como mysql://user:example@sqldat.com/production?encoding=utf8&timezone=UTC&cacheMetadata=true
Livro de receitas> Configuração> Variáveis de ambiente
Arquivos de configuração adicionais
Outra opção é carregar arquivos de configuração separados/adicionais com base no ambiente atual, para que você possa implantar apenas os arquivos que são realmente necessários para um ambiente 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);
Livro de receitas> Configuração> Carregando adicionais Arquivos de configuração
Alias de conexão
E também há alias de conexão, o CakePHP faz isso automaticamente no ambiente de teste. Digamos que você tenha um
default e uma production configuração, você pode usar o alias para production conexão como default em seu ambiente de produção, para que em todos os lugares seu código tente usar o default conexão, ele realmente usará a production 1. \Cake\DataSource\ConnectionManager::alias('production', 'default');
API> \Cake\DataSource\ConnectionManager::alias()