Cuando se programa en php conviene mantener la coherencia siguiendo unas convenciones en el código que facilitan la lectura ulterior. Al utilizar las mismas convenciones en el código es más fácil para nosotros y para otros programadores poder utilizar el mismo código. De esta forma el código es más legible, más fácil de mantener. Así podemos aprovecharnos del trabajo ya desarrollado por otros desarrolladores e incluirlo en nuestros proyectos. Y otros pueden hacer lo mismo con nuestro código.
Symfony sigue los estándares definidos en los documentos psr-0 psr-1 y psr-2. Lo siguiente es un resumen traducido de estos documentos.
General
Los ficheros deben usar solo las etiquetas de apertura php <?php o <?=
Los ficheros deben usar solo UTF-8 sin BOM en el código php. El BOM es un residuo que permite a algunos editores de texto identificar la codificación.
Los ficheros deben usar el formato de fichero Unix LF (lineFeed) en vez del usado en sistemas DOS (carryReturn).
Los ficheros deberían o declarar símbolos (clases, funciones, constantes etc) o producir efectos (cómo generar salida, cambiar configuraciones, etc.) pero no ambos a la vez.
Los nombres de clases deben ser declarados con estilo StudlyCaps.
La declaración de las constantes en una clase debe usar letras mayúsculas con subrayado como separador.
Los nombres de los métodos deben ser declarados en camelCase.
Estructura
El código debe usar cuatro espacios para la identación en vez de usar el tabulado. Esto minimiza problemas con otras herramientas de desarrollo.
Las líneas podrían tener 80 caracteres o menos evitando tener más de 120 caracteres.
Las llaves de apertura deben ir en la siguiente línea y la llave de cierre debe ir en la siguiente línea después del cuerpo.
Las llaves de apertura en las estructuras de control debe ir en la misma línea y las llaves de cierre deben de ir después del cuerpo.
Los paréntesis en las estructuras de control no deben usar espacios antes o después.
Añadir un solo espacio después de cada limitador de coma.
Añadir un solo espacio alrededor de los operadores (==, &&, …)
Añadir una línea en blanco antes de una declaración de return, a no ser que esté dentro de una declaración como un grupo como if.
Usa llaves para indicar el control de la estructura sin tener en cuenta el número de declaraciones que el grupo pueda contener.
Define una clase por fichero. Esto no aplica para clases de ayuda privadas que no se pretenden instanciar desde fuera y por lo tanto no concierne al estándar PSR-0.
Declara las propiedades de clase antes que los propios métodos de clase.
Declara los métodos públicos primero, después los métodos protegidos y finalmente los métodos privados.
Convenciones los nombres
Usa el formato de camelCase, sin subrayados para variables, funciones y nombres de métodos y sus argumentos
Usa subrayados para los nombres de opciones y nombres de parámetros.
Usa namespaces para todas clases.
Añade el sufijo Interface a los interfaces.
Utiliza caracteres alfanuméricos y subrayados para nombres de ficheros
Documentación
Añadir bloques PHPDoc a todas clases métodos y funciones.
El texto es una sintesis traduccida de los siguientes documentos: PSR-0, PSR-1, PSR-2 y codeStandars.