Convenio de codificación específico para PHP
- Área: Especificaciones de Codificación y Construcción
- Tipo de pauta: Directriz
- Carácter de la pauta: Obligatoria
Se recogen una serie de convenios de codificación específicos de PHP, a tener en cuenta además de los generales
Las convenciones de codificación ayudan a la uniformidad y legibilidad del código fuente, facilitando su mantenimiento por terceros y eliminando la dependencia del desarrollador.
Pautas
Título | Carácter |
---|---|
Nomenclatura de ficheros | Obligatoria |
Nomenclatura de variables | Obligatoria |
Alineación | Obligatoria |
Terminación final | Obligatoria |
Demarcación de código en PHP | Obligatoria |
Concatenación | Obligatoria |
Comillas simples | Obligatoria |
Comillas dobles | Obligatoria |
Manejo del Array | Obligatoria |
Sustituciones en cadenas | Obligatoria |
Extensión de ficheros php | Obligatoria |
Documentación de elementos | Obligatoria |
Legibilidad | Recomendada |
Doxygen en PHP | Recomendada |
Nomenclatura de ficheros
Utilizar caracteres alfanuméricos y guiones, pero no espacios
En todos los ficheros sólo se utilizaran caracteres alfanuméricos, guiones bajos y el guión normal.Los espacios están estrictamente prohibidos.
Nomenclatura de variables
Utilizar caracteres alfanuméricos comenzando con '$'
Las variables deben comenzar con el carácter '$' seguido de caracteres alfanuméricos, incluido el guión bajo.
Alineación
Utilizar 4 espacios en blanco para alinear el código
La alineación debe consistir en aplicar 4 espacios en blanco, no estando permitido el uso de tabulaciones.
Terminación final
Finalizar la linea con un carácter LF
La terminación de la línea sigue la convención del archivo UNIX, por lo que las líneas deben finalizar con un salto de línea única (LF).
Concatenación
Concatenar cadenas utilizando el operador "."
La concatenación de cadenas debe realizarse utilizando el operador ".", añadiendo un espacio delante y detrás del operador.
Comillas simples
Usar las comillas simples en los literales
Cuando una cadena es literal (no contiene sustituciones) debe marcarse la cadena entre comillas simples.
Comillas dobles
Usar las comillas dobles en cadenas
Cuando una cadena incluye diferentes apóstrofes debe ir encerrada entre comillas dobles.
Manejo del Array
No utilizar índices negativos en los arrays
Un array unidimensional comienza situando el índice a 0. Cuando el array se declara utilizando el constructor, se debe dejar un espacio tras cada delimitador siguiendo criterios de legibilidad. Si el array es inicializado mediante el constructor cada linea sucesiva debe alinearse con la superior.
Sustituciones en cadenas
Utilizar los símbolos $ o {$y} para las sustituciones
Las sustituciones dentro de una cadena deben realizarse utilizando los símbolos $, o {$ y }.
Documentación de elementos
Documentar los elementos para facilitar el mantenimiento de los mismos
Los siguientes elementos deben ser documentados siguiendo una estructura adecuada y utilizando etiquetas específicas:
- Sentencias define[_once].
- Sentencias include[_once].
- Funciones.
- Clases.
- Métodos y atributos.
- Variables globales.
- Archivo de código.
Legibilidad
Usar plantillas para favorecer la legibilidad del código
Se recomienda el uso de una plantilla para favorecer la legibilidad del código y cuando vayamos a documentar varios elementos similares. Una plantilla se define de la misma manera que un bloque normal, lo único que cambia es el encabezado de la primera línea /*#@+ en lugar de /* , la declaración se irá añadiendo a los elementos hasta encontrar un elemento de cierre delimitado con /*#@-/.
Contenidos relacionados
Código | Título | Tipo | Carácter | |
---|---|---|---|---|
LIBP-0008 | Convenio de codificación general | Libro de pautas | Directriz | Obligatoria |
Código | Título | Tipo | Carácter |
---|---|---|---|
RECU-0110 | Doxygen | Referencia | Permitido |
RECU-0739 | Implementación de convenios de codificación en PHP | Ejemplo | Obligatorio |
RECU-0270 | PHP_CodeSniffer (phpcs) | Ficha Técnica | Recomendado |
RECU-0255 | PHPDocumentor | Ficha Técnica | Recomendado |