Je n'ai jamais vu de fichier PHP utilisant des hachages (#
) pour commenter. Mais aujourd'hui, j'ai réalisé que je peux vraiment! Je suppose qu'il y a une raison pour laquelle tout le monde utilise //
au lieu de cela, alors me voici.
Y a-t-il une raison, en dehors de vos préférences personnelles, d'utiliser //
plutôt que #
pour les commentaires?
La réponse à la question Y a-t-il une différence entre l'utilisation de "#" et "//" pour les commentaires sur une seule ligne en PHP? est non .
Il n'y a pas de différence. En regardant la partie d'analyse de PHP, "#" et "//" sont gérés par le même code et ont donc exactement le même comportement.
La documentation de PHP décrit les différentes possibilités de commentaires. Voir http://www.php.net/manual/en/language.basic-syntax.comments.php
Mais cela ne dit rien sur les différences entre "//" et "#". Il ne devrait donc pas y avoir de différence technique. PHP utilise la syntaxe C, donc je pense que c'est la raison pour laquelle la plupart des programmeurs utilisent les commentaires de style C '//'.
<?php
echo 'This is a test'; // This is a one-line C++ style comment
/* This is a multi-line comment.
Yet another line of comment. */
echo 'This is yet another test.';
echo 'One Final Test'; # This is a one-line Shell-style comment
?>
Y a-t-il une raison, en dehors de vos préférences personnelles, d'utiliser // plutôt que # pour les commentaires?
Je pense que ce n'est qu'une préférence personnelle. Il n'y a aucune différence entre //
et #
. J'utilise personnellement #
pour un commentaire sur une ligne, //
pour commenter le code et /** */
pour le commentaire de bloc.
<?php
# This is a one-line comment
echo 'This is a test';
// echo 'This is yet another test'; // commenting code
/**
* This is a block comment
* with multi-lines
*/
echo 'One final test';
?>
On pourrait penser que le #
La forme de commentaire est principalement destinée à créer un script Shell en utilisant la notation familière "Shebang" (#!). Dans le script suivant, PHP devrait ignorer la première ligne car c'est aussi un commentaire. Exemple:
#!/usr/bin/php
<?php
echo "Hello PHP\n";
Si vous le stockez dans un fichier exécutable, vous pouvez ensuite l'exécuter à partir d'un terminal comme celui-ci
./hello
La sortie est
Hello PHP
Cependant, ce raisonnement est incorrect, comme le montre le contre-exemple suivant:
#!/usr/bin/php
#A
<?php
#B
echo "Hello PHP\n";
La première ligne (la ligne Shebang) est spécialement ignorée par l'interprète. La ligne de commentaire avant la balise PHP est répercutée sur la sortie standard car elle ne se trouve pas à l'intérieur d'une balise PHP. Le commentaire après l'ouverture PHP est interprétée comme PHP mais elle est ignorée car il s'agit d'un commentaire.
Le résultat de la version révisée est
#A
Hello PHP
De https://php.net/manual/en/migration53.deprecated.php
"Les fonctionnalités obsolètes dans PHP 5.3.x ... Les commentaires commençant par '#' sont désormais obsolètes dans les fichiers .INI."
Voilà. Le hachage '#' semble rester une option de commentaire par défaut en n'étant pas obsolète. Je prévois de l'utiliser pour distinguer différentes couches d'instructions imbriquées if/else et marquer leurs crochets de fermeture, ou utiliser pour distinguer les commentaires de code du code commenté comme d'autres l'ont suggéré dans des articles connexes. (Remarque: le lien était valide/fonctionnait au 23/04/19, mais qui sait si cela fonctionnera toujours lorsque vous lirez ceci.)
Cependant, dans tous les exemples de code PSR, ils utilisent //
pour les commentaires en ligne.
Il existe une proposition d'extension PSR-2 qui vise à la standardiser, mais ce n'est pas officiel: https://github.com/php-fig-rectified/fig-rectified-standards/blob/master/PSR-2- R-coding-style-guide-additions.md # commenting-code
//
est plus couramment utilisé dans la culture PHP, mais c'est bien d'utiliser #
aussi. Personnellement, je l'aime, car il est plus court et permet d'économiser des octets. C'est un goût personnel et biaisé, il n'y a pas de bonne réponse, jusqu'à ce que, bien sûr, cela devienne une norme, ce que nous devrions essayer de suivre autant que possible.
Si vous établissez des ensembles de règles dans votre équipe/projet ... les 2 types de commentaires peuvent être utilisés pour décrire l'objectif du code commenté.
Par exemple, j'aime utiliser #
pour couper/désactiver les paramètres de configuration, les sous-fonctions et en général un morceau de code qui est utile ou important, mais qui est actuellement désactivé.
Y a-t-il une raison, en dehors de vos préférences personnelles, d'utiliser // plutôt que # pour les commentaires?
Je suis venu ici pour la réponse moi-même, et il est bon de savoir qu'il y a PAS DE différence de code.
Cependant, selon les préférences, on pourrait faire valoir que vous préféreriez la cohérence des commentaires "Shell-> Perl-> php" par rapport à la méthode "c-> php".
Depuis que j'ai approché php en tant que Perl web pauvre, j'utilisais # .. puis j'ai vu le code de quelqu'un d'autre et je suis venu directement sur SO. ;)
Oui, mais il existe des différences entre plates-formes.
J'utilise # tout le temps pour commenter en PHP, mais j'ai remarqué une différence d'adoption.
Sur le clavier Windows, la touche # est facile à utiliser. Sur le clavier Mac, la touche # n'est généralement pas présente.
Ainsi, pour les utilisateurs de mac, [Alt] + [3] ou [⌥] + [3] est plus difficile à taper que //, donc // est devenu un moyen multiplateforme d'afficher du code avec des commentaires.
Telle est mon observation.