IronWoods.es

Desarrollo web

Blog / PHP / Estándares de programación en PHP

¿Cómo es tu código?

Los lenguajes de programación tienen unas normas y/o recomendaciones para evitar o reducir variaciones en los estilos de escribir código de cada programador que incrementen su complejidad a la hora de leerlo. PHP, es bastante "permisivo" y más allá de un conjunto de normas a seguir en el nombrado de variables, constantes, etc., permite que funcionen programas escritos de forma muy diversa. Esto nos hace más responsables a la hora usar un estilo coherente que en otros lenguajes.

PHP Framework Interop Group

PHP FIG es el grupo que desarrolla una serie de recomendaciones para estandarizar el código PHP, lo que redundara en una mejor legibilidad y mantenibilidad en el futuro, como ellos dicen: para tratar de trabajar mejor juntos.

Repositorio oficial con los estándares PHP

Sitio web de PHP FIG

Varios estándares disponibles, ¿cuál usar?

Esta es la parte que puede hacer complicada la toma de contacto con los estándares y reconozco que por eso no los use desde un principio. En general depende de con que trabajes.

Laravel usa PSR-2, y en parte PSR-4 (autoload), por lo que si desarrollas con este Framework deberías adoptarlo. Symfony usa PSR-2 y parte de PSR-4.

Descripción de las reglas PSR-2


En general cada Framework o empresa adoptan uno u otro si bien PSR-2, es el estándar "general" más utilizado, por ello las herramientas para estandarizar código suelen llevarlo configurado por defecto.

Simplificando, PSR-O estableció unas normas, PSR-1 añadió más, y lo mismo PSR-2, y son acumulativas, aunque "corrigen" algunos aspectos. Así PSR-2 sigue las normas de PSR-1, además de añadir nuevas y PSR-1, igual con PSR-0. Las respectivas PSRs abordan aspectos concretos del lenguaje e implementaciones que fueron apareciendo o era necesario concretar.

Adaptándonos a los estándares

Hay un extenso conjunto de recomendaciones. No hace falta leerlas todas, sino somos muy chapuceros prácticamente no modificaremos nuestro punto de partida y existen herramientas que nos ayudarán.


PHP-CS-Fixer - Herramienta para ajustar automáticamente el código a estándares. También como plugin para Sublime.

PHP-Codebeautifier - Otro plugin para Sublime 3.

Entrada de como instalar y comenzar a usar PHP CS Fixer.


Finalmente, si ya hemos decidido adoptar los estándares, otra buena práctica, sería el nombrado de entidades en inglés. Esto es así, porque es normal comenzar usando el propio idioma, pero, aunque estés escribiendo una aplicación en casa, no sabes si en el futuro otras personas deberán mantenerlo y ampliarlo o cuando vas a tener que compartir código o si vas a requerir ayuda.


30-11-2017