php不写闭合标签的好处

yipeiwu_com6年前PHP代码库

最早这个概念是从Drupal中接触到的,一开始有点不习惯——为什么不写闭合标签呢?这感觉很不完美啊,对于有强迫症的人来说很不适应嘛!后来,在工作中碰到了因为标签闭合而引起的问题,才开始不写闭合标签。
参阅了一些文章,对PHP闭合标签的总结如下:
好处:如果这个是一个被别人包含的程序,没有这个结束符,可以减少很多很多问题,比如说:header, setcookie, session_start这些动作之前不能有输出,如果不小心在?> 后边加了不可见字符(多余的空格、换行符)等破坏页面显示,就会报"Header already sent"错误,不写的话不会有此问题。另,可以直接把光标移到最后,接着编程。
坏处:在dreamweaver的视图模式下,一团糟。
关于PHP闭合标签官方解释是:PHP闭合标签"?>"在PHP中对PHP的分析器是可选的。但是,如果使用闭合标签,任何由开发者,用户, 或者FTP应用程序插入闭合标签后面的空格都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。因此,所有的php文件应该省略这个php闭合标签,并插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。这样有利于你确定这个文件已经结束而不是被删节的。
在Zend的代码规范中,也提到了这一点:http://framework.zend.com/manual/1.12/en/coding-standard.php-file-formatting.html
代码示例:
不当的:

复制代码 代码如下:

<?php
echo "Here's my code!";
?>

适当的:
复制代码 代码如下:
<?php
echo "Here's my code!";
/* End of file myfile.php */
/* Location: ./system/modules/mymodule/myfile.php */

因此,如果是纯php code文件的话,应该省略?>结束标识符。

相关文章

PHP中addcslashes与stripcslashes函数用法分析

本文实例分析了PHP中addcslashes与stripcslashes函数用法。分享给大家供大家参考,具体如下: 在写一个网站的英文版时,写完后填加英文资料,我随便填写时一点问题没有,...

php异步:在php中使用fsockopen curl实现类似异步处理的功能方法

PHP从主流来看,是一门面向过程的语言,它的最大缺点就是无法实现多线程管理,其程序的执行都是从头到尾,按照逻辑一路执行下来,不可能出现分支,这一点是限制php在主流程序语言中往更高级的语...

php 动态执行带有参数的类方法

官方手册给出了以下范例: 复制代码 代码如下:<?php // 使用了NameSpace的例子 namespace Foobar; class Foo { static publi...

PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)

register_globals的值可以设置为:On或者Off,我们举一段代码来分别描述它们的不同。 代码: 复制代码 代码如下: <form name="frmTest" id=...

PHP连接SQLSERVER 注意事项(附dll文件下载)

环境: - Apache 2.2.6 - PHP 5.2.5 - SQL Server 2005 - Windows XP SP2 步骤: 1. 首先按通常做法配置好PHP5连接MS S...