Ciertamente antes de comenzar a usar cakephp estaba utilizando slimframeworks para mis experimentos. Hacia migraciones con phinx en bruto, hacia pruebas unitarias con otra librería simpleTest o algo asi. Implementa toda la lógica por mi cuenta. Lo cual es un interesante ejercicio para mejor tu colmillo de programador.
Hace algunos años que entré a trabajar en mi actual empleo y utilizan cakephp, realmente solo lo había escuchado pero nunca le di la oportunidad, quizás por el nombre.
Total ya llevo por lo menos 3 años utilizando realmente es un muy buen framework, espero y no sea el síndrome de estocolmo en fin. Resumo las características que considero importantes.
Migraciones ya viene por defecto el sistema de migraciones lo cual facilita mucho. Antes lo hacía manualmente.
PhpUnit otra de las grandes sorpresas ya viene muy bien integrado con pruebas unitarias, sino que además ya está preparado para trabajar con una db de pruebas, algo que no había logrado manualmente por mi cuenta. Por lo que realizar pruebas de un escenario muy particular es posible. Otro punto que se agradece es que no sólo puedes probar cada método o función, si no que además puedes realizar pruebas como si fuera un usuario visitando una Url.
Cache esta es otra de las herramientas que también estaba probando por mi cuenta, para mejorar el rendimiento y tiempo de respuesta. No solo lo utiliza por defecto te permite configurar servicios externos como Redis memcached entre otros.
Rutas Si bien las rutas se configuran automáticamente con el nombre de los controladores y sus acciones es posible ir más allá y definir rutas personalizadas incluso con expresiones regulares.
Plugins Otro de los conceptos que tiene muy fuerte cakephp es que está pensado en plugin. Un plugin es una manera de encapsular totalmente un sistema. con sus propios controladores, rutas, migraciones etc. y poder utilizarlo o compartirlo.
Bake Sabiendo utilizar y configurar podrías llegar a solo definir la base datos y hacer un bake. Un bake en base a una tabla de la base de datos te genera el controller y sus vistas.
Logs Cuenta por defecto de una barra de desarrollo llamado DebugKit que por cierto es un plugin. Que te permite ver muchos datos desde todas las consultas, todos los logs de debug, Uso de memoria y tiempo de ejecución. Además de permitir poder definir mas barras Seria una publicacion entera hablando de esta herramienta.
Shell Es posible generar aplicaciones en línea de comandos utilizando todo lo anterior.
Multi-Idiomabueno su nombre se explica solo, lo mejor es que mediante archivos pot de traducción es posible dejarle la tarea de traducción al cliente.
Creo que el punto más débil de cakephp es que no cuenta un sistema de plantillas por lo menos no hasta la versión que manejo 3.5.x (que no es la más actual ). Esto hace provoca que al estar haciendo el front seas tentado hacer cochinadas.
Otro punto débil, ya que está preparado o pensando para el concepto de plugin, Si no tienes cuidado al estructurar el proyecto puedes estar regando código entre el código base y todos los plugins que generes.
En conclusión cakephp es un excelente framework para desarrollar cualquier cosa y no tiene nada que envidiarles a los laravel o codeigniter.
Añadir nuevo comentario