Skip to main content

Estandares de programación PSR en PHP

Una forma elegante de programar, nos permite que nuestro codigo sea legible y facil de que otra persona lo pueda entender y asi poder continuar trabajando en este codigo.
    • 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.