Estandares de Programación en PHP

Estandares de Programación en PHP

diciembre 4, 2018 Educación 0

Estos estándares para mantener las buenas prácticas en el lenguaje, cada uno de los lenguajes tiene sus estándares, pero solo ampliaremos las de PHP.

PSR-1 Estándar de codificación básica

Comprende lo que debe considerarse, los elementos de codificación estándar que se requieren para garantizar un alto nivel de operatividad entre el código PHP.

Un resumen de lo que debe seguir esta norma:

  • Los archivos DEBEN utilizar solo las etiquetas <? Php y <? =.
  • Los archivos DEBEN utilizar solo UTF-8 sin BOM para el código PHP.
  • Los archivos DEBEN declarar símbolos, es decir, clases, funciones, constantes, entre otras; o generar resultados, cambiar la configuración de .ini, pero NO DEBEN hacer ambos.
  • Los namespace y las clases DEBEN seguir una PSR de “carga automática”: [PSR-0, PSR-4].
  • Los nombres de clase DEBEN ser declarados en StudlyCaps. NombreClase
  • Las constantes de clase DEBEN declararse en mayúsculas con separadores de subrayado. CONSTANTE_C
  • Los nombres de los métodos DEBEN ser declarados en camelCase. nombreMetodo.

 

PSR-2 Guía de estilo de codificación

Esta guía expande la norma PSR-1. El objetivo de esta guía es reducir la dificultad de seguir códigos de diferentes autores, cuando varios autores colaboran en varios proyectos, es útil contar con un conjunto de normas que se utilizarán entre todos esos proyectos.

  • El código DEBE seguir la norma PSR-1.
  • El código DEBE usar 4 espacios de sangría.
  • NO DEBE haber un límite en la longitud de la línea; el límite DEBE ser de 120 caracteres; las líneas DEBEN tener 80 caracteres o menos.
  • DEBE haber una línea en blanco después de la declaración de namespace, y DEBE haber una línea en blanco después del bloque de declaraciones de uso.
  • Las llaves de apertura para las clases DEBEN ir a la siguiente línea, y las llaves de cierre DEBEN ir a la siguiente línea después del cuerpo.
  • Las llaves de apertura para los métodos DEBEN ir a la siguiente línea, y las llaves de cierre DEBEN ir a la siguiente línea después del cuerpo.
  • La visibilidad (public, private, protected) DEBE ser declarada en todas las propiedades y métodos; abstract y final DEBE ser declarado antes de la visibilidad; static DEBE ser declarada después de la visibilidad.
  • Las palabras clave de la estructura de control DEBEN tener un espacio después de ellas; las llamadas de método y función NO DEBEN tener espacio.
  • Las llaves de apertura para las estructuras de control DEBEN ir en la misma línea, y las llaves de cierre DEBEN ir en la siguiente línea después del cuerpo.
  • Los paréntesis de apertura para las estructuras de control NO DEBEN tener un espacio detrás de ellos, y el cierre de paréntesis para las estructuras de control NO DEBE tener un espacio antes.

 

PSR-4 Estándar de Autocarga

Este PSR describe una especificación para la carga automática de clases desde rutas de archivos. Es totalmente interoperable y se puede usar además de cualquier otra especificación de carga automática, incluido el PSR-0. Este PSR también describe dónde colocar los archivos que se cargarán automáticamente de acuerdo con la especificación.

 

  • Las rutas completas de los Namespaces DEBEN tener la estructura Proveedor\Namespace\NombreDeLaClase. (VendorName\Namespace\ClassName)
  • Todas las rutas DEBEN tener un Proveedor (Vendor Name).
  • Los Namespaces pueden estar compuestos de todos los Sub-Namespaces que se desee.
  • Todas las rutas DEBEN acabar en un Nombre de Clase (Class Name).
  • Los guiones bajos no tienen ningún significado especial (modificación sobre PSR-0).
  • Se pueden combinar mayúsculas y minúsculas.
  • Todos los nombres de clase DEBEN usar un estilo ‘case-sensitive’.
  • Cada namespace puede tener tantos sub-namespaces como se quiera.
  • Todos los archivos deben tener la extensión .php.
  • Los nombres de los namespaces o clases deben ser ordenados alfabéticamente.

 

Estos son los estándares de programación de PHP, el PSR-0 se omitió porque ya está obsoleto, en cambio se usa el PSR-4, el PSR-3 es de los Logger interface, ese era mucho más extenso que los anteriores, solo se dio un breve resumen de cada uno de las normas. Espero puedas seguir estos estándares para tener un código más limpio y claro a la hora de programar en equipo, o simplemente para ver tu mismo el código mucho tiempo después y entenderlo.

Si deseas ampliar más la información, te aconsejo visites la página PHP-FIG trae información muy completa.