最早开始写PHP代码的时候,我是要写PHP闭合标签的,之后习惯改了,不再写PHP闭合标签了。最早这个概念是从Drupal中接触到的,一开始有点不习惯——为什么不写闭合标签呢?这感觉很不完美啊,对于有强迫症的人来说很不适应嘛!后来,在工作中碰到了因为标签闭合而引起的问题,才开始不写闭合标签。

对于纯PHP文件,不写封闭标签的原因是因为防止在封闭标签之后有多余的空格、制表符等,在渲染页面的时候会输出这些多余的字符,造成页面错位;还有可能,你在一个PHP文件中包含了另外一个PHP文件,并使用了header函数,而另外一个PHP文件中,因为封闭标签后面有多余的字符,那么最终页面就会因为在header函数之前做了输出而报错。因此,强烈推荐在纯PHP文件中不要写闭合标签。

在Zend的代码规范中,也提到了这一点:http://framework.zend.com/manual/1.12/en/coding-standard.php-file-formatting.html