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 相关文章推荐
PHP读写文件的方法(生成HTML)
Nov 27 PHP
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
PHP多个文件上传到服务器实例
Oct 29 PHP
php的4种常见运行方式
Mar 20 PHP
解决nginx不支持thinkphp中pathinfo的问题
Jul 21 PHP
Yii2 assets清除缓存的方法
May 16 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
如何使用PHP给图片加水印
Oct 12 PHP
删除PHP数组中的重复元素的实现代码
Apr 10 PHP
php两点地理坐标距离的计算方法
Dec 29 PHP
laravel 中某一字段自增、自减的例子
Oct 11 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 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
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
smarty简单应用实例
2015/11/03 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
Javascript 读书笔记索引贴
2010/01/11 Javascript
JQuery 确定css方框模型(盒模型Box Model)
2010/01/22 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
监听element-ui table滚动事件的方法
2019/03/26 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
Python中函数的用法实例教程
2014/09/08 Python
python服务器与android客户端socket通信实例
2014/11/12 Python
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
Python中类型关系和继承关系实例详解
2015/05/25 Python
Python的IDEL增加清屏功能实例
2017/06/19 Python
Python实现购物系统(示例讲解)
2017/09/13 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
python set内置函数的具体使用
2019/07/02 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
Python while循环使用else语句代码实例
2020/02/07 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
2020/03/30 Python
numpy库reshape用法详解
2020/04/19 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
高一英语教学反思
2014/01/22 职场文书
小学生春游活动方案
2014/08/20 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
个人总结与自我评价
2015/02/14 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
办公室卫生管理制度
2015/08/04 职场文书
描写九月优美句子(39条)
2019/09/11 职场文书