¿Codeigniter-Reactor + esteroides?

Es algo que todavía no llego a entender ni asimilar. He pasado la mayor parte de la tarde para configurar la nueva versión 2.0 de CodeIgniter-Reactor con varias librerías que, para mi forma de desarrollar, son indispensables en cualquier framework de programación orientado a web:

  • HMVC: Gracias a la librería de Wiredesignz podemos ordenar nuestro código en módulos y simplificar la lógica de la aplicación.
  • ModulesModule: Ahora que todo será un módulo, no vendría mal un módulo encargado de ejecutar las tareas más comunes de los módulos (instalar, desinstalar, actualizar...). Un módulo de módulos.
  • SettingsModule: No me gusta cargar la configuración desde ficheros config/*, por comodidad y para que el usuario pueda cambiar cualquier parámetro ajustable de una aplicación, prefiero hacerlo en base de datos y cachearlo a disco si es necesario. Me quedo con la librería de PyroCMS.
  • ThemesModule: Otra característica imprescindible sería tener una aplicación themeable y que desde un interfaz de administración se pueda cambiar tranquilamente el aspecto de la misma. Para ello podemos hacer uso de este módulo capaz de instalar y desinstalar themes.
  • TemplateLibrary y TagsLibrary: Una vez hemos decidido hacer la aplicación modular y themeable siguiendo el patrón MVC, un buen lenguaje de template para que los diseñadores no se vuelvan locos con el lenguaje dinámico sería un punto más.
  • MigrationsLibrary: Una vez lo pruebas se convierte en musthave. Se trata de una librería para hacer migraciones de versiones en base de datos. Gestiona los cambios entre versiones de forma sencilla.

Como podéis ver siguiendo los enlaces, casi todo lo necesario para montar el esquema inicial de un framework PHP decente está en los repositorios de Phil Sturgeon (bitbucket y github). Su PyroCMS cuenta con todas estas características pero tiene muchas otras librerías que no son necesarias -a mi modo de ver- para tomarlo como base para cualquier otro tipo de proyecto.

Demasiado complejo de ensamblar, una vez he conseguido hacerlo funcionar más o menos todo ya no tengo ganas de empezar a programar la aplicación que tenía en mente. ¿Por qué no hay *nada* con todas esas funciones  de serie en PHP?. Si, ya sé que con Ruby on Rails o Django hubiera tenido todas estas características -y más- en un par de comandos, pero tenía que desengañarme.

En este sentido PHP sigue estando tan verde como hace años, me hace perder demasiado tiempo aún conociendo la estructura del lenguaje. Todos sabemos como es la curva de aprendizaje al principio, pero -aunque duela- ha llegado el momento de invertir en otra cosa. Shame on me?

php code

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.