La comunidad detrás de PHP es enorme y muy diversa, por lo que está compuesta de innumerables librerías, frameworks y componentes. Así que es común que combinar varios proyectos PHP diferentes en una misma aplicación. Por eso es importante que los diferentes proyectos utilicen, en la medida de lo posible, el mismo estilo para escribir su código.
El Framework Interop Group (antes conocido como el PHP Standards Group) ha propuesto y aprobado una serie de recomendaciones de estilo, conocidas como PSR-0, PSR-1 y PSR-2. Que no te líen estos nombres raros, las recomendaciones son simplemente un conjunto de normas que los proyectos PHP más importantes como Drupal, Symfony, phpBB, Silex y Laravel han empezado a adoptar. Si quieres, tú también puedes empezar a utilizar estas normas para escribir tu propio código.
Lo ideal sería que todos los programadores utilizaran una o varias de las recomendaciones PSR para escribir su código. De esta forma, otros desarrolladores podrían leer y trabajar con tu código fácilmente. Además, las aplicaciones que utilizan estos componentes y librerías tendrían más consistencia.
- Leer acerca de PSR-0
- Leer acerca de PSR-1
- Leer acerca de PSR-2
- Leer acerca de los Estandares de Codificación de Symfony
- Leer acerca de los Estandares de Codificación de Zend
- Leer acerca de los Estandares de Codificación de PEAR
También puedes utilizar PHP_CodeSniffer para verificar si tu código cumple estas recomendaciones. También existen plugins para editores de texto como Sublime Text 2 que comprueban si tu código cumple con las normas a medida que lo escribes.
Por otra parte, el proyecto PHP Coding Standards Fixer publicado por Fabien Potencier permite modificar automáticamente el código fuente de cualquier proyecto para que cumpla cualquiera de las normas anteriores.
En cuanto a los nombres de variables, clases y funciones, la recomendación consiste en utilizar exclusivamente el idioma inglés. Los comentarios de código sí que se pueden escribir en el idioma que mejor entiendan los programadores del equipo de desarrollo.