代码改变世界

从CI看到的关于php标签闭合的问题... so ?> 还是别用了吧。

2013-11-05 20:35  Quenteen.Fix  阅读(223)  评论(0编辑  收藏  举报

php文件中, ?>这个闭合标签 不是必填的。

注意:一旦你闭合了,那么任何其他原因造成的,在闭合标签后面插入的字符,都会如实的打印出来,包括传递的json、xml或页面html源码输出(是不是发现查看有些网页源码的时候,头部会有很多空行,就是闭合不恰当导致的)。

我就经常碰到这样的事情,但拿到的json在通常情况下是可以正常解析的,html也是可以正常显示的,但xml可能就不能正常解析了。

所以,一般情况下,可以忍。

 

但作为有强迫症的同学来说,忍你妹~啊。

 

原话解释:如果使用闭合标签,任何由开发者,用户,或者FTP应用程序插入闭合标签后面的空格都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。

所以:

所有的php文件应该省略这个php闭合 ?>

最好是:

插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。

这样有利于你确定这个文件已经结束而不是被删节的。

 

不当的:

<?php

echo "Here's my code!";

?>

适当的:

<?php

echo "Here's my code!";

/* End of file myfile.php */

/* Location: ./system/modules/mymodule/myfile.php */

 

附上:

CodeIgniter 用户指南 版本 2.1.4

http://codeigniter.org.cn/user_guide/general/styleguide.html#php_closing_tag

CI开发中的编码的规范

 

推荐可以看一下,但不建议全盘照抄。

 

over。