Hoje vi um framework que define o seu ambiente com base no host:
código do framework:
switch ( strtolower( $_SERVER[ 'HTTP_HOST' ] ) ) {
case 'localhost':
define( 'DEBUG', true );
define( 'SITE_ROOT', '' );
define( 'MYSQL_DB', '' );
define( 'MYSQL_HOST', 'localhost' );
define( 'MYSQL_USER', '' );
define( 'MYSQL_PASSWORD', '' );
define( 'MYSQL_PORT', null );
define( 'MYSQL_SOCKET', null );
define( 'MYSQL_TBLPREF', null );
break;
define( 'DEBUG', true );
define( 'SITE_ROOT', '' );
define( 'MYSQL_DB', '' );
define( 'MYSQL_HOST', 'localhost' );
define( 'MYSQL_USER', '' );
define( 'MYSQL_PASSWORD', '' );
define( 'MYSQL_PORT', null );
define( 'MYSQL_SOCKET', null );
define( 'MYSQL_TBLPREF', null );
break;
define( 'DEBUG', false );
define( 'SITE_ROOT', '' );
define( 'MYSQL_DB', '' );
define( 'MYSQL_HOST', 'localhost' );
define( 'MYSQL_USER', '' );
define( 'MYSQL_PASSWORD', '' );
define( 'MYSQL_PORT', null );
define( 'MYSQL_SOCKET', null );
define( 'MYSQL_TBLPREF', null );
break;
default:
die( 'Invalid environment: ' . $_SERVER[ 'HTTP_HOST' ] );
}
Gostei dessa maneira pois não é necessário alterar o ambiente toda vez que enviar o app para o servidor de produção.
Tudo bem que com o uso de sistemas de deploys essa tarefa fica transparente porem de qual quer maneira tem que programar ela.
Estou pensando em implementar algo similiar seria +- assim no enviroment.php
$envs = array(
'localhost' => 'development',
'
danillocesar.com.br' => 'production'
);
ai por traz ele carregaria o ambiente de acordo como dominio especificado.
para quem não sabe atualmente está dessa maneira:
define('ENV','development');
O que acham?
--
-----------------------------------------
Danillo César de O. Melo -
blogSook -
http://www.sook.com.br