Могу ли я использовать знак хэша (#) для комментариев в PHP?


Я никогда, никогда не видел PHP-файл, использующий хэши (#) для комментариев. Но сегодня я понял, что действительно могу! Я предполагаю, что есть причина, по которой все используют // вместо этого, поэтому я здесь.

Есть ли какая-либо причина, помимо личных предпочтений, использовать // вместо # для комментариев?

 125
Author: Behzad Seyfi, 2012-02-01

9 answers

Ответ на вопрос Есть ли какая-либо разница между использованием "#" и "//" для однострочных комментариев в PHP? нет.

Нет никакой разницы. Посмотрев на часть синтаксического анализа исходного кода PHP, и "#", и "//" обрабатываются одним и тем же кодом и, следовательно, имеют одинаковое поведение.

 142
Author: Aziz, 2016-11-14 20:29:41

Документация PHP описывает различные возможности комментариев. См. http://www.php.net/manual/en/language.basic-syntax.comments.php

Но в нем ничего не говорится о различиях между "//" и "#". Так что технической разницы быть не должно. PHP использует синтаксис C, поэтому я думаю, что именно по этой причине большинство программистов используют комментарии в стиле C '//'.

 9
Author: naitsirch, 2012-02-01 09:52:19
<?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
?>

РТМ

 6
Author: ajreal, 2014-11-25 18:50:48

Есть ли какая-либо причина, помимо личных предпочтений, использовать // вместо # для комментариев?

Я думаю, что это всего лишь личное предпочтение. Нет никакой разницы между // и #. Я лично использую # для однострочного комментария, // для комментирования кода и /** */ для блочного комментария.

<?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
Author: Sithu, 2014-11-27 14:50:31

Можно подумать , что форма комментариев # в первую очередь предназначена для создания сценария оболочки с использованием знакомой нотации "shebang" (#!). В следующем сценарии PHP должен игнорировать первую строку, потому что это также комментарий. Пример:

#!/usr/bin/php
<?php

echo "Hello PHP\n";

Если вы сохраните его в исполняемом файле, вы можете затем запустить его с такого терминала

./hello

Вывод

Hello PHP

Однако это рассуждение неверно, так как следующий контрпример показывает:

#!/usr/bin/php
#A
<?php

#B
echo "Hello PHP\n";

Первая строка (строка shebang) специально игнорируется интерпретатором. Строка комментария перед тегом PHP отображается в стандартном выводе, потому что она не находится внутри тега PHP. Комментарий после открывающего тега PHP интерпретируется как PHP-код, но он игнорируется, потому что это комментарий.

Выходные данные пересмотренной версии

#A
Hello PHP
 4
Author: Brandin, 2015-02-19 15:04:52

Если вы устанавливаете некоторые наборы правил в своей команде/проекте... 2 типа комментариев могут быть использованы для описания цели прокомментированного кода.

Например, мне нравится использовать # для отключения/отключения настроек конфигурации, вспомогательных функций и в целом фрагмента кода, который полезен или важен, но в данный момент отключен.

 0
Author: d.raev, 2016-05-09 10:00:06

Для этого нет официального PSR.

Однако во всех примерах кода PSR они используют // для встроенных комментариев.

Есть предложение по расширению PSR-2, которое направлено на его стандартизацию, но оно не является официальным: https://github.com/php-fig-rectified/fig-rectified-standards/blob/master/PSR-2-R-coding-style-guide-additions.md#commenting-code

// чаще используется в культуре PHP, но также можно использовать #. Лично мне это нравится, потому что я короче и экономит байты. Это личный вкус и предвзятость, на это нет правильного ответа, пока, конечно, это не станет стандартом, которому мы должны стараться следовать как можно больше.

 0
Author: Lucas Bustamante, 2018-09-20 15:35:21

Да, однако существуют межплатформенные различия.

Я все время использую # для комментариев на PHP, но я заметил разницу в принятии.

На клавиатуре Windows клавиша # проста в использовании. На клавиатуре mac # клавиши в основном нет.

Таким образом, для пользователей Mac [Alt] + [3] или [⌥] + [3] вводить сложнее, чем //, поэтому // стал кроссплатформенным способом отображения кода с комментариями.

Это мое наблюдение.

 0
Author: Mark N Hopgood, 2018-09-27 14:54:03

Комментарии с "#" устарели в PHP 5.3. Поэтому всегда используйте // или /.../

 -6
Author: Andre, 2012-12-30 12:23:40