2012-03-12 439 views
7

我记得在JavaScript教程中阅读时,通常最好避免使用单行注释,因为将来有人决定要压缩文件并删除所有的空白区域。多行注释vs单行注释

在PHP中是否也一样?即使在我只占用一条线时,也应该使用多行注释,例如

echo $var; /*This code echoes a variable*/ 

或者在这种情况下使用单行注释可以吗?

而且PHP文件是通过删除空白压缩过的,还是有点极端?

+4

你能链接一个引用到你得到那些信息的地方吗?任何压缩空白空间的人都应该认识到,并非所有的空白空间都是可移动的,有很多事情可能会出错。在做这样的事情之前,评论当然应该被剥夺。 – 2012-03-12 21:08:54

+0

顺便说一下:是的,有时候人们会压缩或混淆PHP,但很少。 – 2012-03-12 21:18:23

+0

对不起,回复迟了,网站是:http://dev.opera。com/articles/view/javascript-best-practices /#comments 具体来说: “评论什么时候有重要的事要说,如果你做评论,请使用/ * */notation。如果人们在不剥夺注释的情况下缩小代码,并且通常不那么灵活,那么会出现问题。“ – Sean 2012-03-12 21:47:22

回答

5

在这种情况下使用单行注释可以吗?

简短回答:
如果有人压缩空白并破坏你的代码,这是他们的错误,因为不正确。

任何PHP或JS源压缩器值得使用应该足够聪明,知道要删除什么和不要触摸,并且所有评论通常都会被剥离,所以这不是一个相关问题。你不应该围绕这样的事物编码。

我可以想到的避免单行注释的唯一实际原因是,有时当您从Windows和* NIX服务器进出时,会出现行结尾的问题。如果您使用的是Windows样式的换行符,并且您的文件将它们保留在* NIX服务器上,那么您的单行注释最终将注释掉您的实际代码,从而搞乱了所有内容。 /* Comments like this */不会影响任何东西。例如:

$var = 'Hello'; // Say hello 
echo $var; 

上传到UNIX服务器上的Windows风格\r\n换行符:

$var = 'Hello'; // Say helloecho $var; 

你可能最终,如果你运行它执行了一些意想不到的,危险的代码。

但是:如果发生这种情况,这是另一个应该解决的问题的症状。我几次遇到过这种情况,所以我知道这是可能的。无论如何,许多FTP客户端都会转换换行符。

所以在现实中:是的,可以使用单行注释。评论是作者,而不是编译器或解析器。

+0

真棒,谢谢:) – Sean 2012-03-12 21:42:54

0

密实折叠的空白,其实是不好的PHP脚本,因为1)它可能会改变HTML是如何呈现给导致布局不同浏览器,和2)一些功能,如x滞后preg_*(),需要空白保持不变。