我可以在PHP中使用散列符号(#)进行注释吗?
我从来没有见过使用散列( #
)的PHP文件进行评论。 但今天我意识到我其实可以! 我假设有一个原因,为什么每个人都使用//
而不是,所以我在这里。
除个人喜好外,是否有任何理由使用//
而不是#
来评论?
问题的答案在PHP中使用“#”和“//”进行单行注释有什么区别吗? 不是 。
没有区别。 通过查看PHP源代码的parsing部分, “#”和“//”由相同的代码处理 ,因此具有完全相同的行为。
PHP的文档描述了评论的不同可能性。 见http://www.php.net/manual/en/language.basic-syntax.comments.php
但是没有说“//”和“#”之间的区别。 所以不应该有技术上的差异。 PHP使用C语法,所以我认为这就是大多数程序员使用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 ?>
RTM
除个人喜好外,是否有任何理由使用//而不是#来评论?
我认为这只是个人喜好而已。 //
和#
之间没有区别。 我个人使用#
作为单行注释, //
注释掉代码和/** */
注释块。
<?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'; ?>
有人可能会认为 #
forms的评论主要是为了使用熟悉的“shebang”(#!)符号来创build一个shell脚本。 在下面的脚本中,PHP应该忽略第一行,因为它也是注释。 例:
#!/usr/bin/php <?php echo "Hello PHP\n";
如果您将其存储在可执行文件中,则可以像这样从terminal运行它
./hello
输出是
Hello PHP
但是 ,这个推理是不正确的,正如下面的反例所示:
#!/usr/bin/php #A <?php #B echo "Hello PHP\n";
第一行(shebang行)特别被翻译忽略。 PHP标签之前的注释行被回显到标准输出,因为它不在PHP标签内。 开始PHP标记之后的注释被解释为PHP代码,但是它被忽略,因为它是一个注释。
修订版的输出是
#A Hello PHP
如果您在团队/项目中build立了一些规则集,则可以使用这两种types的评论来概述评论代码的用途。
例如,我喜欢使用#
来静音/禁用configuration设置,子function以及一些有用或重要的代码,但目前仅禁用。
带“#”的评论在PHP 5.3中被弃用。 所以总是使用//或/ … /