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

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

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

Ответ 1

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

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

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

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

Ответ 5

Можно подумать, что форма комментирования # в первую очередь предназначена для создания оболочки script с использованием знакомой нотации "shebang" (#!). В следующем script 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

Ответ 6

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

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

Ответ 7

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

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

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

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

Ответ 8

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

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

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

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

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

Ответ 9

С https://php.net/manual/en/migration53.deprecated.php

"Устаревшие функции в PHP 5.3.x... Комментарии, начинающиеся с" # ", теперь не поддерживаются в файлах .INI".

Там у вас есть это. По умолчанию хэш '#' остается в качестве параметра комментария, но не считается устаревшим. Я планирую использовать его, чтобы различать различные уровни вложенных операторов if/else и отмечать их закрывающими скобками, или использовать для различения комментариев кода от закомментированного кода, как другие предлагали в соответствующих публикациях. (Примечание. Ссылка действительна/работает по состоянию на 23.04.199, хотя кто знает, будет ли она работать, когда вы ее читаете.)

Ответ 10

Могу ли я создать свои собственные символы комментариев в php для файлов php.ini? Скажем, я хочу использовать вместо # или//для комментариев. Как мне этого добиться?

Ответ 11

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

Я пришел сюда за ответом сам, и это хорошо знать, что нет никакой разницы в коде.

Однако, с точки зрения предпочтений, можно утверждать, что вы бы предпочли последовательность комментариев [shell-> perl-> php ", а не способ [c-> php".

Так как я подходил к php как к web-perl для бедняков, я использовал #.. а потом я увидел чей-то другой код и пришел прямо к SO. ;)

Ответ 12

Могу ли я создать свои собственные символы комментариев в php для файлов php.ini? Скажем, я хочу использовать вместо # или//для комментариев. Как мне этого добиться? Я использую php 7.2.18.

Ответ 13

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