PHP y Code Igniter

Hace algunas semanas atrás, nuestro profesor asistente de la materia de Sistemas Distribuídos nos comentaba sobre un framework para PHP recientemente lanzado: el CodeIgniter.

Como sabrán, frameworks para PHP hay bastantes (CakePHP, Symfony, Zend Framework, Prado y otros), pero lo que más me gusta de CodeIgniter cuando empecé a investigar, es la excelente documentación que tiene, el manejo que tiene de las urls y su patrón MVC (bueno, en realidad, casi todos los demás lo tienen).

El CodeIgniter tiene una característica llamada ActiveRecords que es una forma muy interesante de interactuar con un servidor de base de datos, permitiendo que uno pueda obtener resultados de una BD sin muchos conocimientos de SQL, para que se hagan una idea, para obtener los registros de un tabla ordernados por un campo en particular:

$this->db->select(’idcliente, nombres, apellidos’);
$this->db->orderby(’apellidos’);
$this->db->get(’clientes’);

lo anterior ejecuta una sentencia SQL (de acuerdo al motor que utilizamos) parecida a la siguiente:

SELECT idcliente, nombres, apellidos FROM clientes ORDER BY apellidos

El framework pone a disposición del desarrollador clases y helpers que le ayudan a desarrollar aplicaciones mucho más rápido. Es así que tenemos clases para Bases de Datos (database class), Correo Electrónico (Email Class), para carga de archivos (File Uploading Class), para manipulación de imágenes (Image Manipulation Class), para manejo de Sesiones (Session Class) y hasta un paginador de resultados (Pagination Class) (hay muchas más, puedes verlas aquí).

Tiene además un feature muy interesante, el Scaffolding, que es un característica que te permite introducir rápidamente datos en una base de datos con los que puedes trabajar mientras desarrollas, una idea muy interesante.

Otra punto muy importante (tal vez demasiado), es que el CodeIgniter es compatible con PHP4/5 y no necesita instalar nada en el servidor, es decir, desarrollas, y cargas tu sistema con todos los archivos necesarios y ya tienes tu sistema funcionando. Esto es definitivamente un plus en ambientes de hosting compartidos donde uno no tiene precisamente mucho control sobre lo que hay o no en el servidor.

Tanto me gustó el CodeIgniter, que saqué y desempolvé viejas ideas que quería desarrollar, y estoy empezando a hacerlas de a poco con CI (hacerlas “a mano” en PHP llevaría mucho tiempo)… no hay forma de no saber qué hacer… en la página de CodeIgniter hay foros y un wiki donde encontrar abundante información, si no se encuentra en su excelente documentación.

Aunque el soporte para PostgreSQL aún no es tan extenso como para MySQL (se corrigieron algunos bugs del Scaffolding con respecto a Postgres en la última versión 1.5.3), estoy seguro que esto irá cambiando a medida que el uso del framework se vaya extendiendo.

A los que les gusta escribir código en PHP, puedo asegurarles que después de CI, van a adorar escribir código PHP.

Prueben CodeIgniter, vale la pena.


14 comentarios hasta ahora, quieres decir algo?

  1. sf dijo:

    Hola everdaniel, me gustó mucho leer tu artículo porque es breve y anima a probar Code Igniter.

    Solo me permito añadir una recomendación: si vas a desarrollar aplicaciones empresariales (”complejas”, estables y que sean fáciles de mantener) deberías echar un vistazo a Symfony.

    Yahoo ha elegido Symfony como su framework PHP. De hecho, 20 millones de personas ya usan Symfony gracias a Yahoo Boomarks.

    Además, Symfony dispone de más de 700 páginas de documentación de gran calidad (muchas de ellas traducidas al español en este sitio).

  2. everdaniel dijo:

    hola anónimo!, gracias por tus comentarios

    como te habrás dado cuenta, no hice ninguna comparación con otros frameworks porque mi experiencia (con algunos de ellos) fue muy corta, sin embargo, lo que más me gustó (y me sigue gustando) de CodeIgniter, fue la forma en que está documentado el framework, el estilo en que se programa y la comunidad que tienen (que puedes verlo en el foro).

    en cuanto a tu recomendación, te comento que empecé a echarle un vistazo al Symfony (ya escuché hablar de el en el mailing-list de php-es) y está también muy interesante, espero poder probarlo cuando tenga un poco de tiempo libre

    una vez más, gracias por tus comentarios!

  3. Yassiel dijo:

    Hola, everdaniel!

    Estoy interesado en saber mas sobre CI pues ya un amigo me lo recomendo como principiante que soy en el desarrollo Web. Ya visite el sitio oficial, pero nada como contar con un conjunto de colegas que me ayuden y yo ayude al que necesite, en la medida que aprenda. Qué tu crees? Puedo contar Ud.?

    Saludos

  4. everdaniel dijo:

    hola yassiel, gracias por tus comentarios! =D

    en cuanto a ayuda, no hay mejor ayuda que la que encontrarás en los foros oficiales de CodeIgniter (eso sí, en inglés)
    http://www.codeigniter.com/forums

    de todas formas, cualquier pregunta que tengas siempre me puedes escribir usando la seccion de contactos de esta pagina

    saludos!

  5. Carlos Peña dijo:

    Yo soy un desarrollador actualmente de C++ y Java y Visual Yo ando buscando es frameworks que implementen GRID o mejor dicho rejillas, ya que MVC nativo implementa esto componentes. Entonces deseo saber como seria la implementacion de objetos graficos, Calendars, Grid… ;D

    Acabo de buscar la ayuda de CodeIgniter, Pero no consigo implementos Graficos por que es lo que ando buscando. Le agradezco

  6. everdaniel dijo:

    hola carlos, gracias por tus comentarios!

    el tema de la implementación de grid’s o regillas (o de componentes visuales) no depende tanto en realidad de php o de un framework en particular (aunque si puede darse el caso de que generen codigo para eso), sino más que nada del lado cliente, utilizando otras tecnologias (AJAX, etc).

    como ya le comentaba a yassiel, deberías de empezar averiguando en los forums de codeigniter y también en el wiki, por ahí te encuentras con que alguien ya lo hizo

    buena suerte!

  7. Carlos Peña dijo:

    Gracias pror tu pronta respuesta, Agradezco las molestia, Pero mi pregunta se remonta a que ejemplo PHP (es el nativo) inventaron el MVC que ya implementa OOHWeb Component, que traen GRID yo quiero saber si la mejor forma antes de Usar AJAX es implementar MVC

  8. everdaniel dijo:

    hola carlos, estuve haciendo algunas investigaciones y encontré esto que creo implementa lo que estás buscando

    échale una mirada:
    http://www.rapyd.com/
    Rapyd is a component library for CodeIgniter PHP Framework

    http://www.codeigniter.com/wiki/Rapyd_Components/
    Wiki CodeIgniter | Rapyd

  9. Carlos Peña dijo:

    Gracias Por la respuesta creo que con lo que eh obtenido ya he tomado la decision de implementar codeIgniter en mis proyectos ahora toca dedicarse para lograr llevarlo a mejorar todos los dias, me pregunto yo que otro medio habra para comunicarme contigo

  10. everdaniel dijo:

    carlos: te darás cuenta que ha medida que vas desarrollando hay cosas que te lleva muy poco tiempo hacer, pero también, como CodeIgniter es un framework relativamente nuevo, hay cosas por hacer, asi es que desde allí nos toca a nosotros aportar a la comunidad

    si deseas comunicarte conmigo puedes hacerlo a mi email en everdaniel en gmail punto com o en ebarreto en nexusit punto com punto py

    (o a través de mi página de contacto más arriba =D )

  11. Carlos Peña dijo:

    Ever Daniel. Como estas espero muy bien.

    Hoy acabo de terminar mis aplicaciones basadas en CodeIgniter pero Usando AJAX debido a que crea e implementa mas rapidez y ayudada al programador..

    Ajax: Una herramienta muy facil para programar e implementado a este FrameWork que ahora esta siendo muy famoso…

    Pero pregunto yo que Conoces de EZPDO me hablan de que es muy bueno para objectos.

  12. Alvaro Cabrera dijo:

    Llevo muy poco con PHP, y la verdad si me daba flojera continuar con mis proyectos. Ademas de que a los demas frameworks no les entendia mucho, mejor escribi a mano.

    Ahora, navegando, ya han pasado meses y no sabia de la existencia de CodeIgniter… lo he probado y aprobado casi al instante, que framework tan mas sencillo y bueno…

    Se los recomiendo

  13. Mauricio dijo:

    Buenas a todos. Yo estoy usando Code Igniter para un sitio web, pero tengo un problema que no se como solucionar. Necesito integrar objetos flash en el sitio, pero cuando lo visualizo solo sale un rectangulo, y el objeto flash no se reproduce. Alguien puede ayudarme? Muchas gracias

  14. manuel dijo:

    codeigniter, genera una capa de acceso dato??

Dejá tu comentario

playa / mar del plataplaya / mar del platagustavo y yoplaya / mar del plataplaya / mar del plataplaya / mar del plataplaya / mar del plataplaya / mar del plataplaya / mar del plataplaya / mar del plata