Quelle est la convention de dénomination dominante pour les variables en PHP: camelcase ou underscores? [fermé]

52

Le consensus semble être que l'on devrait suivre la convention de la plate-forme pour laquelle ils développent. Voir:

Souligner ou camelcase?

Conventions de dénomination: camelCase versus underscore_case?

Cependant, PHP ne semble pas suivre strictement les conventions internes (pas de surprises là-bas), même pour les méthodes et les fonctions (par exemple mysqli::set_local_infile_default, PDOStatement::debugDumpParams); cependant, les caractères de soulignement semblent être dominants dans les noms de fonctions.

Cependant, voici ce que je n'ai pas pu trouver: quelle est la convention de dénomination dominante pour les variables en PHP?

Sbichenko
la source
1
Choisissez en un et gardez le. Peu importe celui que vous choisirez, du moment que vous le respectez. Même avec des tabulations vs des espaces.
Yannis
2
Je suis tout à fait d'accord avec l'opinion qui prévaut dans les discussions liées: il faut suivre la convention. C'est pourquoi j'ai limité la portée de la question à PHP. Cependant, je commence à me demander s'il est une convention de nommage dominante en PHP.
Sichicho
5
Les conventions de nommage sont une autre de ces petites incohérences qui rendent PHP si agréable à travailler. Le PSR est l’effort qui, à mon avis, mérite d’être suivi, mais… c’est tout à vous. Questions connexes: Existe-t-il des guides de style standard pour PHP? & Pourquoi Bootstrap 3 modifie camelCase en tirets - est-il plus lisible? .
Yannis
Cette question pourrait vous aider: programmers.stackexchange.com/questions/149303/…
programmeur
Le 1er lien est mort mais voici les archives: web.archive.org/web/20130417105957/http://stackoverflow.com/…
Dmitri Zaitsev

Réponses:

51

Il n'y a pas de convention de nommage définitive en PHP, et ils diffèrent par framework:

Donc: Utilisez ce que votre framework utilise ou créez votre propre convention de nommage.

Au moins pour les noms de fonction et les méthodes de classe, il y a une chose à prendre en compte, mais certains frameworks la rejettent: PHP est insensible à la casse dans ce cas , donc aTonalFunction()et atonalFunction()sont tous deux des appels à la même fonction.

Résidu
la source
1
Rien contre votre argument de nommage methond, mais ce n’est absolument pas la convention. Tous les frameworks et bibliothèques modernes tels que Zend Framework 2 , Doctrine 2 et Symfony 2 utilisent camelCase pour les noms de méthodes.
Rudolph Gottesheim
@RudolphGottesheim Bon point. J'ai édité la réponse en conséquence.
Résiduum
1
Intéressant. Je suis venu ici parce que je trouvais que la convention de codage de wordpress était inconvenante. Maintenant, je vois au moins qu'ils voulaient que ce soit injuste
Kirby
14

En tant que codeur depuis plus de dix ans avec PHP, je peux voir un changement de soulignement à camelCase. En particulier, les plus gros frameworks tels que Zend et Symfony s’appliquent sur camelCase même s’ils n’interdisent pas le soulignement, mais la fonction principale est camelCase.

Vous pouvez voir beaucoup de solutions de soulignement dans les systèmes plus anciens, comme l'ancienne branche Typo3 (Typo3 Neo a également été remplacé par camelCase).

Mais il n’ya certainement pas de règle stricte, qui est utilisée par tout le monde, c’est ce que je peux voir au cours des dernières années.

Tobias
la source
1

Cela dépend des programmeurs / développeurs ainsi que du framework ou de l'open source sur lequel ils travaillent. Par exemple, dans le framework Yii, il est conseillé d'utiliser la casse camel alors que dans le framework Codeigniter, la plupart des gens suivent les noms de variables avec des tirets bas. Une chose est certaine, quel que soit le cadre utilisé, le nom de la variable doit être compréhensible et identifiable.

kanjilal
la source
0

Personnellement, cela peut aller dans les deux sens. Certains programmeurs préfèrent la manière d'écrire CamelCase, d'autres préfèrent le soulignement ... Donc, poser une question comme celle-ci n'est pas pertinent car chaque programmeur aura son opinion différente ... Personnellement, j'ai l'habitude de faire les deux en fonction de la situation. ..

Situation un:

Vous avez rejoint une équipe de programmation et un projet en cours, vous remarquerez qu'un exemple de variable est défini:

$theString = "This is a camelcase example";

Mais vous avez un style préféré de:

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

Dans une situation comme celle-ci, il serait préférable de ne pas utiliser de camelcase.

Situation deux:

Vous souhaitez démarrer un projet en solo.

Dans ce genre de cas ... Tout dépend de ce avec quoi vous vous sentez à l'aise, gardez à l'esprit les mauvaises pratiques en termes de:

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

Cela peut facilement provoquer des sorties inattendues. Gardez cela à l’esprit.

Daryl Gill
la source
9
Pour votre information, vous faites référence à PascalCase - camelCase commence par une lettre minuscule.
John Weisz