我从未见过使用哈希(#
)进行注释的PHP文件。但是今天我意识到我实际上可以做到!我假设有一个为什么每个人都//
代替使用的原因,所以我在这里。
除了个人喜好以外,还有什么理由使用//
而不是#
发表评论?
#
符号被称为哈希标签... :(没有理由进行如此严重的否决。经验教训
#
用于单行注释,//
注释代码和/* ... */
注释块
我从未见过使用哈希(#
)进行注释的PHP文件。但是今天我意识到我实际上可以做到!我假设有一个为什么每个人都//
代替使用的原因,所以我在这里。
除了个人喜好以外,还有什么理由使用//
而不是#
发表评论?
#
符号被称为哈希标签... :(没有理由进行如此严重的否决。经验教训
#
用于单行注释,//
注释代码和/* ... */
注释块
Answers:
问题的答案在PHP中为单行注释使用“#”和“ //”之间是否有区别?是没有。
没有区别。通过查看PHP源代码的解析部分,“#”和“ //”都由相同的代码处理,因此具有完全相同的行为。
#
正确折叠注释。我注意到在大型PHP文件中:2k行或更多。有时,它开始在多个#上折叠代码。
#
评论//
而不是评论。但是我一直想知道#
PSR是否符合要求。
# /news (code here)
代替// /news (code here)
。至于2k LoC文件,我认为除了要使用哪个注释标签外,还有其他问题:)
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
?>
除了个人喜好之外,是否还有其他原因使用//而不是#进行注释?
我认为这只是个人喜好而已。//
和之间没有区别#
。我个人使用#
单行注释,//
注释代码和/** */
块注释。
<?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';
?>
//
用于常规代码注释,因为这是大多数人在注释代码时使用的代码。我使用#
的是意在描述的注释,而不是被注释掉的代码。/**/
当您尝试/**/
在该代码中包含`/ ** /的代码上使用时,避免使用一个衬里会减少打开/关闭冲突...最终导致过早关闭。那很糟糕。
可能有人认为#
注释的形式主要是为了使用熟悉的“ shebang”(#!)表示法制作shell脚本。在下面的脚本中,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
!
,然后通过php
命令行运行文件:它将显示“#/ usr / bin / php”。忽略shebang的原因是因为PHP在文件的开头就识别出shebang行并忽略它们。
如果您在团队/项目中建立了一些规则集,则可以使用两种类型的注释来概述注释代码的用途。
例如,我喜欢使用#
静音/禁用配置设置,子功能,以及通常有用或重要但目前被禁用的一段代码。
但是,在所有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文化中更常用,但是也可以使用#
。我个人喜欢它,因为它更短并节省了字节。这是个人的品味和偏见,没有正确的答案,直到它成为标准为止,这是我们应该尽可能遵循的标准。
来自https://php.net/manual/en/migration53.deprecated.php
“ PHP 5.3.x中已弃用的功能.... INI文件中已弃用以#号开头的注释。”
你有它。默认情况下,哈希值“#”似乎保留为注释选项(不建议弃用)。我打算用它来区分嵌套的if / else语句的各个层并标记其右括号,或者像其他人在相关文章中所建议的那样,使用它来区分代码注释和注释掉的代码。(注意:自19年4月23日起,链接有效/有效,尽管在您阅读本文时谁知道该链接是否仍将正常工作。)
PHP 5.3不推荐使用带有“#”的注释。因此,请始终使用//或/ ... /