php不写闭合标签的好处


Posted in PHP onMarch 04, 2014

最早这个概念是从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 相关文章推荐
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
Jul 09 PHP
php中使用addslashes函数报错问题的解决方法
Feb 06 PHP
PHP中date与gmdate的区别及默认时区设置
May 12 PHP
PHP中绘制图像的一些函数总结
Nov 19 PHP
php制作动态随机验证码
Feb 12 PHP
php获取系统变量方法小结
May 29 PHP
PHP中filter函数校验数据的方法详解
Jul 31 PHP
php自动加载方式集合
Apr 04 PHP
Yii2汉字转拼音类的实例代码
Apr 18 PHP
PHP自动载入类文件函数__autoload的使用方法
Mar 25 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 PHP
YII2框架中查询生成器Query()的使用方法示例
Mar 18 PHP
php循环创建目录示例分享(php创建多级目录)
Mar 04 #PHP
PHP中is_file不能替代file_exists的理由
Mar 04 #PHP
php获取目标函数执行时间示例
Mar 04 #PHP
PHP代码优化的53个细节
Mar 03 #PHP
php 表单提交大量数据发生丢失的解决方法
Mar 03 #PHP
PHP根据IP判断地区名信息的示例代码
Mar 03 #PHP
使用php清除bom示例
Mar 03 #PHP
You might like
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
php测试kafka项目示例
2020/02/06 PHP
JavaScript 加号(+)运算符号
2009/12/06 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
函数式 JavaScript(一)简介
2014/07/07 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
2015/11/19 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
2016/12/08 Javascript
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
numpy.delete删除一列或多列的方法
2018/04/03 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
Python实现的NN神经网络算法完整示例
2018/06/19 Python
python配置grpc环境
2019/01/01 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
外贸采购员求职的自我评价
2013/11/26 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
解除同居协议书
2015/01/29 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
小学中队活动总结
2015/05/11 职场文书
企业宣传稿范文
2015/07/23 职场文书
关于职业道德的心得体会
2016/01/18 职场文书