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:[email protected]/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()