Inicialmente PHP no tenía mayores especificaciones para su uso. Sin embargo, el crecimiento del lenguaje ha hecho necesario establecer elementos básicos para el diseño estructurado de los proyectos basados en este lenguaje. Por ello, PHP Group, lanzó una serie de buenas prácticas, detalladas a continuación[[http://www.php-fig.org/psr/]].
PSR-1
- Los archivos deben comenzar con los tags
<?phpo<?= - Los archivos deben utilizar codificación UTF-8 sin BOM.
- Los archivos pueden declarar símbolos (clases, funciones, constantes, etc.) o causar efectos secundarios (generar una salida, cambiar configuraciones de un archivo .ini, leer o modificar archivos) pero no deberían ocurrir ambas cosas.
- Los nombres de clases utilizan StudlyCaps. Por ejemplo: la clase alumno becado se nombrará
AlumnoBecado - Constantes deben ser declaradas con todas sus letras en mayúsculas, y si el nombre es una frase compuesta utilizar guiones bajos. Ejemplo: para la constante ruta de archivo, se puede declarar como
RUTA_ARCHIVO - Los métodos se declaran camelCase. Ejemplo: para la función sumar parámetros, se denomina
sumarParametros()
PSR-2
- El código debe utilizar el estilo de código PSR-1.
- La indentación es con 4 espacios.
- Las líneas deben tener una longitud de 80 caracteres.
- La apertura de las llaves de una clase deben ocurrir en la siguiente línea. El final de las llaves es una línea después del cuerpo.
- La regla anterior aplica para la declaración de las funciones.
- El nivel de acceso de los atributos y métodos deben ser declarada siempre; los modificadores
abstractyfinaldeben ir antes que los niveles de acceso;staticdebe ser declarado después del nivel de acceso. - Las estructuras de control deben tener un espacio después de declaradas. Las funciones no.
- La llave de inicio de una estructura de control inicia en la misma linea de la estructura de control, y finaliza una linea después del cuerpo.
- En los paréntesis de una estructura de control: el de apertura no lleva espacio después y el de cierre no tiene espacios antes.