Inicio > PHP > Estandares de programación psr en php

ESTANDARES DE PROGRAMACIÓN PSR EN PHP

24/11/2017PHP

 

Supongo que la mayoría de nosotros que ha participado en algún proyecto, en el que hayan participado varias personas, nos hemos quejado de que el código es un desastre y que hay código que no se entiende. Lo aconsejable es seguir los estandares de programación psr en php:

  • PSR-0 (obsoleto): Estandar de autocarga de clases. Habla sobre de como se deberían cargar las clases.
    • Cada namespace debe tener un namespace superior ("Vendor name").
    • Cada namespace puede tener tantos sub-namespaces como se quiera.
    • Los nombres de los namespaces o clases deben ser separados por un guion bajo.
    • Los nombres de los namespaces o clases deben ser ordenadas alfabéticamente.
    • Todos los archivos deben tener la extensión php.
  • PSR-1: Codificación estandar básica. Habla sobre de como se deberían cargar las clases.
    • Los ficheros deben tener codificación UTF-8 sin bom.
    • Los nombres de las clases deben utilizar la notación StudlyCaps (MyNameSpace/MiClase
    • El nombre de las constantes debe estar en mayúsculas.
    • Los nombres de los métodos deben declararse en notación camelCase (getUserOrders()).
  • PSR-2: Guía de estilo de codificación. Es una extensión del PSR-1.
    • No se debe usar tabulaciones. En su lugar, se deben usar cuatro espacios para indentación.
    • No debe existir un límite obligatorio para la longitud de una línea. Aunque lo ideal es que midan ochenta columnas o menos y se considerará error de estilo sobrepasar las 120 columnas. Esto mejora la legibilidad del código al tener un menor recorrido que realizar en horizontal
    • Debe haber una línea en blanco después de la declaración del espacio de nombres y una línea después de todos los use. Esto separa de una manera lógica diferentes secciones de la cabecera de una clase.
    • La apertura de llaves debe estar en la siguiente línea de la declaración de una clase, de una función o de un método, y el cierre justo la línea después del cuerpo. Hacer esto da importancia a la declaración de la clase y hace que se leer sin confusión entre líneas.
    • El paréntesis de apertura de las estructuras de control no deben tener espacio después de él. Del mismo modo, el paréntesis de cierre no debe tener espacio antes de él.
  • PSR-3 - Interfaz de log. No hay mucha información sobre este standard.
  • PSR-4 - Estándar de autocarga de clases.
    • Esta es la nueva manera (aceptada) de trabajar con la autocarga de clases. Muchos de los frameworks y clases que existen adoptan este estandar para realizar la autocarga de clases. Ya hable de esto en: Namespaces y en Composer