Pregunta ¿Existe una convención de nombres bien establecida para espacios de nombres PHP?


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

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


32
2017-11-30 15:05


origen


Respuestas:


Un grupo de trabajo de estándares PHP formado por colaboradores de muchos marcos de trabajo y proyectos de PHP distintos presentó la siguiente propuesta para el uso adecuado del espacio de nombres:

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


26
2017-09-14 02:14



No creo que puedas decir que hay algo bien establecido en este punto, pero hay un RFC discutiéndolo para PEAR2: http://wiki.php.net/pear/rfc/pear2_naming_standards

Mi opinión es que los espacios de nombres son una forma de variables, y por lo tanto deben seguir la misma convención que ellos. Yo 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.


5
2017-11-30 18:42



Personalmente, me gusta escribir classnames upper camelcase, atributos de clase y métodos lower 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.


1
2017-11-30 15:15