Olá pessoal,
Hoje vou dar uma dica que eu aprendi com o meu amigo @rafaelxy, que é uma forma de sua aplicação ficar pronta para rodar em qualquer ambiente.
Como assim qualquer ambiente?
Por exemplo você roda sua aplicação localmente na sua máquina e depois tranfere para um servidor de teste (homologação) e por fim para um
servidor de produção (servidor final), esses seriam os ambientes que eu to falando.
Então vou ensinar como deixar isso funcionando sem ter que ficar toda vez alterando os arquivos e tal.
Primeiramente você deve definir quais ambientes teremos:
Eu geralmente uso 3 ambientes:
– Local (development)
– Teste (staging)
– Final (production)
Então com o php vamos buscar esse ambiente no apache, e colocar em uma constante.
[php]
// Define application environment
defined(‘APPLICATION_ENV’)
|| define(‘APPLICATION_ENV’, (getenv(‘APPLICATION_ENV’) ? getenv(‘APPLICATION_ENV’) : ‘production’));
[/php]
Depois basta definir nossos valores de acordo com o ambiente.
No exemplo abaixo estou definindo os dados de conexão ao banco.
[php]
switch(APPLICATION_ENV)
{
case ‘production’:
$db_name = ‘x’;
$db_user = ‘x’;
$db_pass = ‘x’;
$db_host = ‘x’;
break;
case ‘staging’:
$db_name = ‘y’;
$db_user = ‘y’;
$db_pass = ‘y’;
$db_host = ‘y’;
break;
case ‘development’:
$db_name = ‘z’;
$db_user = ‘z’;
$db_pass = ‘z’;
$db_host = ‘z’;
break;
}
[/php]
Em seu .htaccess ou ao configurar o virtual host você define o ambiente da aplicacao.
Basta colocar:
[shell]
SetEnv APPLICATION_ENV development
[/shell]
Espero que tenham gostado.
