2009-11-30 10 views
27

Hasta ahora, he visto muchas convenciones de nombres diferentes usadas para espacios de nombres PHP. Algunas personas usan PascalCase\Just\Like\For\Classes, algunas usan underscored\lower_case\names, algunas incluso usan la convención de Java para nombres de paquetes: com\domain\project\package.¿Existe una convención de nombres bien establecida para los espacios de nombres PHP?

La pregunta es muy simple: ¿alguna de estas convenciones (u otras) se puede llamar bien establecida? ¿Por qué? ¿Alguno de ellos es recomendado por autoridades como Zend o los desarrolladores de marcos PHP conocidos?

Respuesta

25

Un Grupo de Trabajo de Estándares PHP compone de contribuyentes a muchos marcos y proyectos de PHP diferente ocurrió la siguiente propuesta para el uso del espacio de nombre adecuado:

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md

+10

Esto hace cualquier cosa menos responder a la pregunta. La única mención de mayúsculas que veo es "Los caracteres alfabéticos en los nombres de los proveedores, espacios de nombres y nombres de clase pueden ser de cualquier combinación de minúsculas y mayúsculas" – mpen

-1

Personalmente me gusta escribir nombres de clase camelcase superior, atributos de clase y métodos menor camelcase y atributos de clase con el prefijo subrayado.

Otras variables locales También escribo camelcase inferior sin un prefijo de subrayado. Las instancias de los objetos siempre están escritas en uppper camelcase, etc. No creo que haya una mejor manera, solo tienes que ser coherente con tu estándar de codificación. Esto le da la ventaja de leer más rápido a través de su código y debe proporcionar una visión más rápida de lo que está sucediendo en cada línea de código.

+0

-1 Compartiendo su nivel personal no contribuye al responder esta pregunta en particular Ninguna de las cosas que menciona hace referencia alguna a las fuentes que respaldan su punto de vista. En resumen: por favor, concéntrese en la pregunta cuando publique una respuesta. –

+0

Aunque tiene razón, esta respuesta se publicó hace más de 7 años. – Ben

+0

Es cierto que hace bastante tiempo, nunca miro esas fechas. Sorprendente si lo piensas: la pregunta y sus respuestas aún atraen visitantes y ayudan a las personas a aprender. SO es un ícono. Ese es también el razonamiento detrás de mi voto: votos positivos para respuestas que agregan valor a la pregunta específica y votos negativos para aquellos que no lo hacen. Eso garantiza la calidad de SO: solo el autor puede eliminar (algunas excepciones), pero la comunidad decide. Encuentro muy elegante realmente. Permítanme enfatizar que esto no es nada personal: los vi publicar muchas respuestas de buena calidad. Simplemente creo que este no es uno de ellos :-) –

4

No creo que se puede decir que hay algo bien establecido en este punto, pero hay un RFC discutir por PEAR2: http://wiki.php.net/pear/rfc/pear2_naming_standards

Mi opinión es que los espacios de nombres son una forma de variables, por lo que debe siga la misma convención que ellos. Generalmente prefiero lowercase_underscore para las variables libres (a diferencia de los miembros del objeto), por lo que el más natural para mi gusto sería namespace\ClassName. Esto también coincide con las convenciones más frecuentes de otros idiomas. Por otro lado, podría hacerse el mismo argumento para los pseudo-espacios de nombres anteriores a 5.3, pero aquí el estándar de facto parece estar usando CamelCase.

Cuestiones relacionadas