我从未见过使用哈希(#
)进行评论的PHP文件。但是今天我意识到我其实可以!我假设每个人都使用//
的原因,所以我在这里。
除个人偏好外,是否有任何理由使用//
而不是#
进行评论?
答案 0 :(得分:150)
问题的答案对于PHP中的单行注释使用“#”和“//”之间是否存在任何差异 no < /强>
没有区别。通过查看PHP源代码的解析部分both "#" and "//" are handled by the same code,因此具有完全相同的行为。
答案 1 :(得分:10)
PHP的文档描述了评论的不同可能性。见http://www.php.net/manual/en/language.basic-syntax.comments.php
但它没有说“/”和“#”之间的区别。所以不应该有技术差异。 PHP使用C语法,所以我认为这就是大多数程序员使用C风格注释'//'的原因。
答案 2 :(得分:7)
<?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
?>
答案 3 :(得分:6)
除个人偏好外,是否有任何理由使用//而不是#作为评论?
我认为这只是个人偏好。 //
和#
之间没有区别。我个人使用#
进行单行评论,//
用于评论代码,/** */
用于评论。
<?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';
?>
答案 4 :(得分:5)
有人可能认为 #
形式的评论主要是为了使用熟悉的&#34; shebang&#34; (#!)表示法。在以下脚本中,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
答案 5 :(得分:0)
如果您在团队/项目中建立了一些规则集......可以使用两种类型的注释来概述注释代码的用途。
例如,我喜欢使用#
来静音/禁用配置设置,子功能以及一般有用或重要的代码,但目前只是禁用。
答案 6 :(得分:0)
但是,在所有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文化中更常用,但是也可以使用#
。我个人喜欢它,因为它更短并节省了字节。这是个人的品味和偏见,没有正确的答案,直到它成为标准为止,这是我们应该尽可能遵循的标准。
答案 7 :(得分:0)
是的,但是存在跨平台差异。
我一直使用#来在PHP中进行注释,但是我注意到采用上的差异。
在Windows键盘上,#键易于使用。 在Mac键盘上,#键大多不存在。
因此对于Mac用户,[Alt] + [3]或[⌥] + [3]比//更加难以键入,因此//已成为显示带有注释的代码的跨平台方式。
这是我的观察。
答案 8 :(得分:0)
来自https://php.net/manual/en/migration53.deprecated.php
“ PHP 5.3.x中已弃用的功能.... INI文件中已弃用以#号开头的注释。”
那里有。默认情况下,不建议使用不包含哈希值“#”的注释选项。我打算用它来区分嵌套的if / else语句的各个层并标记其右括号,或者像其他人在相关文章中所建议的那样,将代码注释与注释掉的代码区分开。 (注意:自19年4月23日起,链接有效/有效,尽管在您阅读本文时谁知道链接是否仍将正常工作。)
答案 9 :(得分:0)
除了个人喜好之外,是否还有其他理由使用// 比#要发表评论?
我自己来这里回答的,很高兴知道否的代码差异。
但是,明智的选择可能会导致您更喜欢'shell-> perl-> php'注释一致性而不是'c-> php'方式。
因为我确实将php作为穷人的webby perl来对待,所以我使用#..然后我看到了别人的代码,直接进入SO。 ;)
答案 10 :(得分:-6)
使用PHP 5.3弃用了带有“#”的注释。所以总是使用//或/ ... /