¿Cuál es la convención de nomenclatura dominante para las variables en PHP: camelcase o guiones bajos? [cerrado]

52

El consenso parece ser que uno debe seguir la convención de la plataforma para la que se está desarrollando. Ver:

Subrayado o camelcase?

Convenciones de nomenclatura: camelCase versus underscore_case?

Sin embargo, PHP no parece seguir estrictamente ninguna convención internamente (sin sorpresas allí), incluso para métodos y funciones (por ejemplo mysqli::set_local_infile_default, PDOStatement::debugDumpParams); sin embargo, los guiones bajos parecen ser dominantes en los nombres de funciones.

Sin embargo, lo que no pude encontrar fue esto: ¿cuál es la convención de nomenclatura dominante para las variables en PHP?

sbichenko
fuente
1
Elige uno y quédate con él. No importa cuál elijas, siempre y cuando te quedes con él. Lo mismo con pestañas vs espacios.
Yannis
2
Estoy totalmente de acuerdo con la opinión que prevalece en las discusiones vinculadas: uno debería seguir la convención. Es por eso que he limitado el alcance de la pregunta a PHP. Sin embargo, estoy empezando a preguntarse si no es una convención de nomenclatura dominante en PHP.
sbichenko
55
No existe, las convenciones de nomenclatura son otra de esas pequeñas inconsistencias que hacen que PHP sea tan maravilloso para trabajar. PSR es el único esfuerzo que creo que vale la pena seguir, pero ... depende completamente de ti. Preguntas relacionadas: ¿Hay guías de estilo estándar para PHP? & ¿Por qué Bootstrap 3 cambia camelCase a guiones? ¿Es más legible? .
Yannis
Esta pregunta podría ayudarlo: programmers.stackexchange.com/questions/149303/…
programador
El primer enlace está muerto, pero aquí está el archivo: web.archive.org/web/20130417105957/http://stackoverflow.com/…
Dmitri Zaitsev

Respuestas:

51

No existe una convención de nomenclatura definitiva en PHP, y difieren según el marco:

Entonces: use lo que sea que use su marco o cree su propia convención de nomenclatura.

Al menos para los nombres de función y los métodos de la clase, hay una sola cosa a considerar, pero algunos marcos desecharlo: PHP es sensible a mayúsculas en ese caso , por lo que aTonalFunction()y atonalFunction()son las llamadas a la misma función.

Residuo
fuente
1
Nada en contra de su argumento de denominación de methond, pero esa no es absolutamente la convención. Todos los frameworks y bibliotecas modernos como Zend Framework 2 , Doctrine 2 y Symfony 2 usan camelCase para los nombres de los métodos.
Rudolph Gottesheim
@RudolphGottesheim Buen punto. He editado la respuesta en consecuencia.
Residuo
1
Interesante. Vine aquí porque encontré que la convención de codificación de WordPress es desgarbada. Ahora veo que al menos querían que fuera desgarbado
Kirby,
14

Al codificar durante más de diez años con PHP, puedo ver un cambio de guión bajo a camelCase. Especialmente los marcos más grandes como Zend y Symfony se acumulan en camelCase también cuando no prohíben el subrayado, pero toda la función central es camelCase.

Puede ver muchas soluciones de subrayado en sistemas más antiguos, como la antigua rama Typo3 (Typo3 Neo también cambió a camelCase).

Pero definitivamente no hay una regla estricta, que es utilizada por todos, eso es lo que puedo ver en los últimos años.

Tobias
fuente
1

Esto depende de los programadores / desarrolladores, así como del marco o el código abierto en el que están trabajando. Por ejemplo, en el marco de Yii, es aconsejable usar el caso de camello, mientras que en el marco de Codeigniter, la mayoría de las personas siguen nombres de variables con guiones bajos. Una cosa segura es que, independientemente del marco que utilice, el nombre de la variable debe ser comprensible e identificable.

kanjilal
fuente
0

Personalmente, esto puede ir en cualquier dirección. Algunos programadores prefieren la forma de escribir CamelCase, otros prefieren subrayar ... Entonces hacer una pregunta como esta es irrelevante ya que cada programador tendrá su propia opinión diferente ... Personalmente, tengo la costumbre de hacer ambas cosas dependiendo de la situación. ..

Situación uno:

Se ha unido a un equipo de programación y se ha unido a un proyecto en curso, observa que se establece una variable de ejemplo:

$theString = "This is a camelcase example";

Pero tienes un estilo preferido de:

$the_string = "This is not a camelcase example"; 

En una situación como esta, sería mejor seguir en camello.

Situación dos:

Desea iniciar un proyecto en solitario.

En este tipo de caso ... Todo se reduce a lo que te hace sentir cómodo, ten en cuenta las malas prácticas en términos de:

$theString = "This is a sample String"; 
$the_string = "This is another sample string within the same project"; 

Esto puede causar fácilmente resultados inesperados. Solo tenlo en cuenta.

Daryl Gill
fuente
99
Para su información, a lo que se refiere es a PascalCase: camelCase comienza con una letra minúscula.
John Weisz