Apr 032009
 

La idea es un tanto vieja, pero nunca se me había ocurrido para un post.

En fechas recientes, mi vida como programador PHP ha tomado un curso prolífico y abundante, no necesariamente (quiero aclarar) soy un gurú de la programación ó de las bases de datos, ni mucho menos, este post va dirigido a los newbies principalmente.

El año pasado adquirí un trabajo como desarrollador, en el empleo me fué otorgada la herramienta CodeIgniter el cual es un framework de PHP que se basa en el MVC creado por smartTalk en decadas pasadas.

No es el motivo principal del post, describir el fw, sino dar una idea con la licencia ARTISTIC LICENSE:

Declaración de variables de desarrollo.

Archivo constants.php ubicado en /system/application/config

//Constante para poner en modalidad DESARROLLO el sistema
//Para que el valor de esta constante surta efecto en las páginas, deberán contener un if
//que anulen por completo el comportamiento normal del sistema para que tomen el valor de la constante
//Y se puedan mover las cosas necesarias a placer.

define('DEV_MODE',TRUE);

Archivo dev.php ubicado en /system/application/config

<?php if (! defined(BASEPATH) ) { exit ('No direct script access allowed'); end();}
/**
*Arreglo de configuración para activar o desactivar cosas, dependiendo del modo en que se encuentra la aplicación.
*
*@access public
*@author Pedro Navarro <geek@geeking.me>
*@return Valores específicos dependiendo del arreglo que se haya seleccionado.
*@name $this->config->item('dev_mode');
*@version 0.1
*@license Artistic License
*/

$config['dev_mode'] = array (

'correo_electronico' => array('email'=>'geek@geeking.me'),
'mes_actual' => array('mes' => '01') // Poner en lugar de 01 el identificador numérico del mes deseado.

);

Ejemplo de uso en un controlador

Archivo sample_controller.php ubicado en /system/application/controllers/

class Sample_controller extends Controller {
var $dev_vars = NULL;

function __construct ()
{
parent:Controller();

if (DEV_MODE)
{
$this->load->config('dev_mode');
$this->$dev_vars = $this->config->item('dev_mode');
}
}

function index ()
{
$month = DEV_MODE?$this->dev_vars['dev_mode']['mes_actual']:date('m');
$data['my_month'] = $month;
$this->load->view('my_view',$data);

}
}

Parece que se escribe más código del necesario, parece también que podría existir un servidor de desarrollo y otro de producción, lo cual es un hermosa práctica, pero en estos días ¿quién en su sano juicio tiene una implementación de este tipo?… La mayoría de las empresas, tienen a sus desarrolladores trabajando en el server de producción y usar algo como esto resultaría algo práctico sí es el caso en el que puede ayudarte.

La manera más confiable de fiarse en algo es la usabilidad de. No estaría de más recibir aportaciones.

Gracias.

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

   
© 2012 Geekeandome Suffusion theme by Sayontan Sinha