De vuelta
Junio 12, 2007 @ 15:53
Alex SanchoComo habréis notado, estas ultimas semanas la actividad del weblog ha sido nula, el motivo, una carga de trabajo brutal.
Entre encargos, proyectos personales y experimentos casi no he tenido un minuto libre y cuando lo he tenido no habían ganas de escribir.
El caso es que una de las actividades que me ha tenido ocupado es que he comenzado a trabajar con CodeIgniter un fantástico framework para PHP que implementa el modelo MVC (Model-Viewer-Controller).
Lo cierto es que resulta realmente fácil construir aplicaciones basándose en este framework, la curva de aprendizaje es casi nula, ofrece la posibilidad de extender las librerías base casi al 100% y la carga que añade al servidor es casi nula.
Poco a poco intentare ir adentrándome mas en este framework y prometo compartir lo que vaya aprendiendo.
Para empezar a abrir boca, os dejo una clase que extiende la clase nativa “CI_Output”, el objetivo de esta personalización es el añadir métodos para enviar datos en formato “Ajax” desde los controladores.
Ademas auto detecte el soporte “mime” del cliente para poder añadir/enviar las cabeceras correctamente dependiendo del soporte “xhtml” del navegador.
Como podréis observar, la clase tiene cuatro funciones publicas, “IsAjax”, “addJson”, “sendJson” y “sendAjax”.
El uso de la clase es muy sencillo, tan solo tenemos que utilizar el método correspondiente para detectar si la consulta es “Ajax” y en el caso de serlo enviaremos los datos precedidos del “Content-Type” correpondiente.
Un detalle a tener en cuenta es que si necesitamos enviar contenido en formato Json la clase se encarga de codificarlos, es por ello que la librería es para uso exclusivo bajo PHP5+.
En el siguiente ejemplo lo veréis mas claro:
<?php
if($this->output->isAjax()) {
$data = $this->load->view('viewer/template', '', true);
$this->output->sendAjax($data);
}
?>
Por otra parte, la detección del tipo “mime” es totalmente automática, cuando se carga la clase se seleccionan las cabeceras pertinentes y se configura la variable “xhtml” con true o false.
Yo lo utilizo de la siguiente manera,
<?php if($this->output->xhtml) echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";?>
Comentarios (0) | | Digg It! | | ma.gnolia |

Articulos relacionados:De tablero
De regreso del OME y algunos links
Bloggers viajeros
De comunidades a sociedades
Meta-chistes
Permalink
Via Alex Sancho
PHP