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->orderby(’apellidos’);
$this->db->get(’clientes’);
lo anterior ejecuta una sentencia SQL (de acuerdo al motor que utilizamos) parecida a la siguiente:
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.










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).
24 Abr 2007, 3:00 ameverdaniel 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!
24 Abr 2007, 2:33 pmYassiel 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
24 Abr 2007, 1:11 ameverdaniel 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!
24 Abr 2007, 11:05 pmCarlos 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
24 Abr 2007, 5:58 pmeverdaniel 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!
24 Abr 2007, 10:09 pmCarlos 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
24 Abr 2007, 12:09 pmeverdaniel 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/
24 Abr 2007, 1:42 pmWiki CodeIgniter | Rapyd
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
24 Abr 2007, 3:41 pmeverdaniel 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 )
24 Abr 2007, 4:11 pmCarlos 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.
24 Abr 2007, 7:54 amAlvaro 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
24 Abr 2007, 4:40 amMauricio 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
24 Abr 2007, 1:35 ammanuel dijo:
codeigniter, genera una capa de acceso dato??
24 Abr 2007, 4:29 pm