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提取中文首字母
Apr 09 PHP
php socket方式提交的post详解
Jul 19 PHP
php 分库分表hash算法
Nov 12 PHP
ThinkPHP视图查询详解
Jun 30 PHP
深入理解PHP中的global
Aug 19 PHP
PHP中COOKIES使用示例
Jul 26 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
Yii中的cookie的发送和读取
Jul 27 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
Feb 10 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
Jan 23 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
Sep 15 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
PHP 文件扩展名 获取函数
2009/06/03 PHP
用PHP获取Google AJAX Search API 数据的代码
2010/03/12 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
2019/08/05 PHP
浅析JavaScript中的类型和对象
2013/11/29 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
2017/02/08 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
详解vue高级特性
2020/06/09 Javascript
[01:20]辉夜杯背景故事宣传片《辉夜传说》
2015/12/25 DOTA
python Django模板的使用方法
2016/01/14 Python
回调函数的意义以及python实现实例
2017/06/20 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
python中 * 的用法详解
2019/07/10 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
Python-opencv 双线性插值实例
2020/01/17 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
pycharm新建Vue项目的方法步骤(图文)
2020/03/04 Python
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
爱游人:Travelliker
2017/09/05 全球购物
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
Why we need EJB
2016/10/20 面试题
寄语学生的话
2014/04/10 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
小学中队活动总结
2015/05/11 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
革命电影观后感
2015/06/18 职场文书
教师节获奖感言
2015/07/31 职场文书
幼儿园大班教师评语
2019/06/21 职场文书