PHP rapido, sencillo y pontente: CodeIgniter

Justo nada más empezar a trabajar en el Reino Unido me llamó la atención un framework (entorno de desarrollo) que muchos compañeros de mi trabajo solían utilizar a menudo cuando llegaban proyectos que requerían el uso intensivo de patrones, templates o como queramos llamarlos. Dicho entorno tiene el nombre de CodeIgniter y sí, para mi gusto es lo mejor que me he encontrado en muchísimo tiempo cuando quieres aprender a usar un entorno basado en MVC (Modelo Vista Controlador https://es.wikipedia.org/wiki/Modelo_Vista_Controlador) pero no se tiene demasiado tiempo libre para aprender a usarlo.

Muchos puristas y frikis de la materia me podrán decir: “Ya tenemos Symfony”, a lo que yo respondería: “por desgracia tenemos Symfony”. Symfony es grande, demasiado grande para mi gusto la verdad. Quizás su mayor baza sea que es genial para proyectos enormes que requieran de un sistema tremendamente dinámico que cree formularios en un abrir y cerrar de ojos con un sistema muy orientado a las tablas, pero en mi caso esto no ocurre. Dicho esto, vayamos al kit de la cuestión.

CodeIgniter es genial por varias cosas, pero destacaría las siguientes:

  • Es muy sencillo de aprender; sí, más que Symfony, por mucho que les pese a más de uno
  • Aunque permite el uso de templates no es necesario usarlos si uno no lo desea, es muy poco restrictivo
  • Requiere configuración cero para empezar a utilizarlo, es decir, lo descargas, descomprimes y a trabajar.
  • No necesita de lineas de comandos para configurar nada, todo lo contrario que Symfony
  • Y sobretodo… es raaaaaapidoooooo. A penas tiene impacto sobre un código en PHP puro.

De todas formas, lo que realmente hace interesante a este Framework es que, al igual que Symfony, permite el uso de algo tan de moda como es la programación en modelo Vista-Controlador. Para el que aún no tenga ni idea de qué va el asunto les resumiré que es algo así como tener dos partes en el código fuente. Por un lado tendríamos la parte visual, es decir, archivos semiestáticos en html o php y otra parte, más orientada al backend, en el que viene toda la lógica interna de la página web: Llamadas a la base de datos, rutinas internas a nivel de servidor, control de variables, etc. De esta manera conseguimos algo realmente interesante en un equipo de desarrollo: Podemos poner a un desarrollador especializado en html+css a hacer la parte visual y otro desarrollador únicamente entretenido en la parte interna. El resultado se fusiona, manteniendo unas reglas obvias para no machacarse uno con otro y ¡¡listo!!

Si os sigue picando la curiosidad: https://ellislab.com/codeigniter