Publicado el día 30-08-2017

Mi experiencia con CakePHP

Una de las herramientas que usamos a diario para satisfacer las necesidades de nuestros clientes es CakePHP, a la que cariñosamente apodamos “Cake”.

Cake no es más que un framework para el ya conocido lenguaje PHP, pero tiene varias características que nos resultaron bastante atractivas, por ejemplo:

  • Es completamente Open Source, de modo que se encuentra en constante avance y evolución gracias a la comunidad.
  • Está basado en una arquitectura MVC, lo que garantiza que la lógica de nuestras soluciones estará naturalmente separada de los datos y las capas de presentación, lo que redunda en mayor adaptabilidad ante cambios en las necesidades del cliente.
  • Maneja convenciones para muchísimas cuestiones, sobre todo en nomenclatura, lo que nos hace el trabajo bastante más liviano a los desarrolladores (siempre y cuando decidamos respetarlas).

El caso de estudio de este artículo es un proyecto interno para la empresa. El equipo detectó que la mayoría de los clientes generalmente nos encarga aplicaciones para dispositivos móviles, y que en cada proyecto se pierde mucho tiempo creando el backend de la aplicación en cuestión, cuando en definitiva las variaciones que sufre ese apartado entre proyectos son menores.

Es así como nos decidimos a embarcarnos en el proyecto de crear un backend propio, que pudiéramos reutilizar y adaptar rápidamente en cada ocasión a las necesidades del producto que estemos desarrollando.

Con el fin de no extender este artículo indefinidamente, solamente voy a relatar cómo pude construir rápidamente un ABM que maneje usuarios para nuestra aplicación.

Personalmente, esta fué mi primera vez trabajando con cuestiones como el patrón MVC, o con un ORM (componente del framework que funciona como nexo entre las bases de datos y el modelo de objetos).

Para empezar, hace falta definir el modelo de la aplicación: para esto definí una base de datos denominada users, siguiendo las convenciones que maneja CakePHP. El paso siguiente es crear la entidad User, y la clase UsersTable para que el ORM pueda realizar acciones como asignar masivamente todos los campos, o aplicarle alguna función hash a las contraseñas de los usuarios.

Una vez definido el modelo, el paso siguiente es implementar el controlador, que es la parte de la aplicación que oficia de intermediaria entre el modelo y las vistas, traduciendo las peticiones del usuario en acciones concretas de la aplicación.

En primera instancia definimos la clase UsersController (como mandan las convenciones del framework) y adentro definimos los métodos que nos permiten realizar las respectivas altas, bajas y modificaciones. Cabe aclarar que como estamos hablando de una clase controlador, los métodos se denominan acciones. Por ejemplo:

Finalmente, queda pendiente la implementación de las vistas para cada acción del controlador. Una práctica que seguimos en general, es primero construir lo que se llama un layout para la vista, que no es más que un esqueleto al que después la vista le proporcionará el contenido que finalmente verá el usuario. A modo de ejemplo,esta sería la vista para la acción add:

Para este caso,elegimos implementar un template gratuito llamado Propeller, del que tomamos los estilos y le fuimos embebiendo la funcionalidad en PHP.

Como conclusión, CakePHP es un framework bastante amigable que si bien es exigente con sus convenciones, a la larga facilita el trabajo de los desarrolladores (como todo framework que se precie debería hacer). Quien les escribe comenzó a trabajar en Syloper hace exactamente treinta días, y si bien el principio fue un poco difícil, con el correr de los días pude acostumbrarme a la forma de trabajar. ¡Espero ansioso asumir nuevos proyectos utilizando esta herramienta!


Compartir :

Contacto

Cochabamba 1672

(+549) 0341 - 5580311

Rosario, Santa Fe

CP. 2000

Trabaja con nosotros

Si estás interesado en trabajar con nosotros, por favor entrá a este link


Todos los derechos reservados © Syloper, Inc.