[ CODEIGNITER ] Dynamic base_url – base_url dinámica
En muchos casos, si estas desarrollando de manera colaborativa, usas cvs, svn, etc, es posible que un mismo proyecto lo pruebes en maquinas o servidores distintos. Uno de los problemas con los que me topé, fue el hecho de teenr que cambiar el » $config[‘base_url’] » , cada vez que ocupaba un computador distinto.
Si bien, este no es un problema «TERRIBLE» se vuelve tedioso al momento de desarrollar de manera colaborativa, en este caso con codeigniter. Para solucionarlo, simplemente, haremos que el config..php (application/config/config.php) establezca nuestro base_url dependiendo de donde nos encontremos.
Sustituiremos
$config['base_url'] = "http://localhost/Proyectos/
Con un simple switch, que además depende del nombre del servidor donde nos encontremos.
<?php
define('SERVER_NAME_DEV', 'localhost');
define('SERVER_NAME_EMPRESA', 'www.PAGINA_UNO.cl');
define('SERVER_NAME_FINAL', 'www.PAGINA_DOS.cl');
//Obtenemos el nombre actual para el servidor donde nos encontramos
$nombreServerActual = $_SERVER['SERVER_NAME'];
switch($nombreServerActual)
{
case SERVER_NAME_DEV:
$config['base_url'] = "http://localhost/Proyectos/";
break;
case SERVER_NAME_EMPRESA:
$config['base_url'] = "http://www.PAGINA_UNO.cl";
break;
case SERVER_NAME_FINAL:
$config['base_url'] = "http://www.PAGINA_DOS.cl";
break;
default:
$config['base_url'] = "http://localhost/Proyectos/";
break;
}
?>
Con este pequeño truco, no importa en cual server estemos desarrollando con CodeIgniter. El resultado siemrpe será el mismo, nuestra página sin tener que cambiar el base_url.
Con este sistema, no importa la CANTIDAD de servidores de desarrollo, o incluso los distintos nombres que pueda tener tu página.