Hoy hablaremos de los estándares en PHP.-
¿Para qué sirven éstos?; para facilitar el código y cuándo digo "facilitar" me refiero a apuntar que resulte fácil de leerse, que se obtengan menos errores y en caso de tenerlos, sea más fácil de identificarlos y depurarlos y a ayudar a mejorar el trabajo en equipo. Por convención se aprende a programar de diversas fuentes y materiales que se desparraman por toda la web; pero (...) todos o casi todos los desarrolladores de cualquier lenguaje tienen una forma diferente con la cual escriben su código. Pero imaginen que se esta trabajando con otros 2, 7, 15 o más desarrolladores en conjunto (...), sería tedioso lidiar con cada una de las notaciones del script; por eso sugiero ser más objetivo y dejar un poco de lado el ego y la subjetividad de uno mismo, o podríamos tener problemas luego (computacionalmente hablando).


Entonces, si nos basamos en los estandares PHP, nos podríamos remitir a los estándares ZEND, ya que no han de estar en vano, ya sea por optimizaciones de seguridad o por ser uno de los materiales del mismo lenguaje más visitado de la web o simplemente porque es la empresa que más se sumergió en el hecho de ayudara crecer a la extensa librería del proyecto de Rasmus Lerdorf.


Así que comencemos.


  • No esta admitido el cierre de etiquetas ?> en donde el archivo solo contenga código PHP. Es decir, si contiene HTML u otros, debe de cerrarse, por el contrario, no se aconseja.
  • No se permite tabular, solo espaciar 4 veces.
  • Cada linea de código debe mantenerse por debajo de los 80 caractéres, si es posible.
  • Los nombres de clases pueden contener sólo caracteres alfanuméricos. Los números están permitidos en los nombres de clase, pero desaconsejados en la mayoría de casos.

    Si el nombre de una clase esta compuesto por mas de una palabra, la primer y solo la primer letra de cada palabra debe aparecer en mayúsculas.
  • Las clases abstractas siguen la misma convención que las clases comunes, solo que, adicionalmente, debe de agregarse al final del nombre de la clase "Abstract".
  • Las Interfaces, al igual que las clases abstractas siguen la misma convención y acaba con la palabra clave "Interface".
  • Para separar las palabras de la ruta del archivo, es estrictamente desaconsejable usar espacios o Camell Case. Simplemente (_) ó (-) estarán permitidos.
  • Las funciones siguen el mismo patrón que las clases. Excepto que cuando las mismas se declaran como privadas o protegidas de acceso, debe de empezar su nombre por "_".
  • Las variables siguen la misma manera que las funciones, y se aconseja asignarles un nombre constructivo a no ser que solo se les de utilidad en los loops.
  • Las constantes deben nombrarse en mayúsculas y además, separar cada palabra con "_".
Cabe destacar que hay decenas de estándares más de Zend, aunque estos, a mi parecer son los más relevantes.


Posted in

Leave a Reply

GroovieDev, compartiendo conocimiento. Con la tecnología de Blogger.