Jose J. Fernández Programador. Desarrollador web y SEO en León

6 motivos para utilizar un framework en PHP

Jose J. Fernández

PHP

Un framework, “marco de trabajo” en inglés, es una estructura de software creada para ayudar en el desarrollo de software. Aunque programar en PHP es relativamente sencillo, existen multitud de frameworks en este lenguaje, como Synfony, Laravel, o CakePHP, por mencionar unos pocos.

¿Por qué deberíamos utilizar uno, entonces? Voy a mostraros algunos motivos para ello.

1. Evitan escribir código repetitivo

La mayoría de los proyectos web necesitan un conjunto de funcionalidades común a todos ellos, como el acceso a base de datos, la validación de formularios o la seguridad. Escribir el código que resuelve esas partes para cada proyecto es mala idea, además de aburrido.

Es mala idea porque nunca tienes un código común a todos tus proyectos. Si ya lo reutilizas, tienes muchas probabilidades de modificar algo en un proyecto y que en los demás quede sin tocar. Al final, cada proyecto será totalmente diferente y solucionar errores será mucho más complejo que si sólo tuvieras una base de código.

Un framework incluye multitud de funcionalidad por defecto y contemplan la ampliación de manera modular, es decir, que puedes ampliarlo sin modificarlo directamente. Entenderás que esto te facilitará el mantenimiento y despliegue de dichas funcionalidades en otros proyectos.

2. Permiten centrarse en programar la aplicación

El código repetitivo (base de datos, sesiones, formularios) no es más que una herramienta para conseguir que tu aplicación web funcione como quieres. Dedicarle mucho tiempo a la herramienta no suele ser buena idea, porque es tiempo que pierdes de desarrollo de tu aplicación.

Recurrir a un framework tiene varias consecuencias, como que sabes que la herramienta va a estar bien hecha (¿o pensabas que tú lo harías mejor?) y que te abstrae de cometer errores a bajo nivel, como errores que permitan ataques contra la base de datos (inyección SQL).

3. Utilizan buenas prácticas

Normalmente, los frameworks utilizan y animan a sus usuarios a utilizar prácticas de desarrollo que se consideran buenas, como separar la lógica (PHP), los datos (SQL), la estructura (HTML) y la presentación (CSS). La mayoría de frameworks están basados en patrones de diseño, principalmente MVC (Modelo Vista Controlador).

Evidentemente, si no conoces estos patrones te costará utilizar el framework, pero cualquier buen programador debería conocerlos, y si no los conoce no le será muy difícil comprenderlos y aplicarlos. Con la ventaja de que, en un framework, ya están implementados, tú sólo tienes que utilizarlos :)

4. Ofrecen una estructura base común

Una de las cosas que más a menudo veo infravaloradas es la utilización de una estructura base común a los proyectos. Si el código que copias cuando inicias un proyecto es distinto en cada uno, en este punto no vas bien. Los frameworks ofrecen una base común que puedes utilizar en todos los proyectos. Ya hablamos de esto en el primer punto, pero ahora va más allá.

Al tener un código y estructura común, todos los proyectos se desarrollan con los mismos principios y de la misma forma, y si te suena eso de la organización de la producción, sabrás que hacer las cosas cada vez de una manera distinta es sinónimo directo de matar la productividad, entre otras cosas.

5. Hacen cosas avanzadas que tú no harías

Tu software no puede utilizar URLs optimizadas sin trucos extraños de htaccess, que además dependen de que se ejecute en Apache. Tu software no te permite desarrollar una API REST sobre ese mismo código sin modificar la mitad del mismo. Para traducir tu aplicación tienes que tener tablas de 50.000 registros, o hacer guarradas con tu software.

Un framework contempla todo eso, y lo hace de forma elegante.

6. Desarrollar con frameworks es más rápido

Como consecuencia de los puntos anteriores, resulta que al final, desarrollar con frameworks es sensiblemente más rápido que hacerlo uno mismo desde cero.

Entonces… ¿Por qué no estás utilizando ya un framework? Aprende uno ya :D

Samus 2014-10-05 - 21:50

Muy interesante! Tu qué framework recomendarías, Jose?

Saludos!

Jose J. Fernández 2014-10-05 - 22:37

Como suele decirse, el framework con el que mejor te desenvuelvas es buena elección siempre. Yo personalmente utilizo CakePHP, y si tuviera que elegir otro me quedaría con Laravel probablemente. El caso es que el que utilices te resulte cómodo :)

Nuño 2014-10-05 - 23:36

Voy a mirar el CakePHP a ver que tal va.

Gracias por la info.

  1. Cambiar el controlador predefinido para login en CakePHP | Jose J. Fernández

No se mostrará públicamente.

Un enlace a tu blog o página web.