web-dev-qa-db-fra.com

Puis-je utiliser un signe de hachage (#) pour commenter en PHP?

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?

131
Hubro

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.

152
Aziz

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 '//'.

11
naitsirch
<?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
?>

RTM

7
ajreal

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';
?>
6
Sithu

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
5
Brandin

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.)

0
BarbaraRoseNow

Il n'y a pas de PSR officiel pour cela.

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.

0
Lucas Bustamante

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é.

0
d.raev

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. ;)

0
Gerard ONeill

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.

0
Mark N Hopgood