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 相关文章推荐
如何删除多级目录
Oct 09 PHP
浅析PHP水印技术
Feb 14 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
Codeigniter的dom类用法实例
Jun 26 PHP
PHP中addcslashes与stripcslashes函数用法分析
Jan 07 PHP
PHP文件下载实例代码浅析
Aug 17 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
Jul 10 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
php表单习惯用的正则表达式
Oct 11 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 PHP
PHP实现简单的计算器
Aug 28 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测试程序运行时间的类
2012/02/05 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
使用WAMP搭建PHP本地开发环境
2017/05/10 PHP
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
2009/11/30 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
2015/06/14 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
Python 实现简单的电话本功能
2015/08/09 Python
python3+requests接口自动化session操作方法
2018/10/13 Python
基于python历史天气采集的分析
2019/02/14 Python
python文件和文件夹复制函数
2020/02/07 Python
python实现从ftp服务器下载文件
2020/03/03 Python
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
使用useBean标志初始化BEAN时如何接受初始化参数
2012/02/11 面试题
介绍下WebSphere的安全性
2013/01/31 面试题
Ruby如何定义一个类
2012/10/08 面试题
教导处工作制度
2014/01/18 职场文书
社区包粽子活动方案
2014/01/21 职场文书
2014年会计工作总结
2014/11/27 职场文书
2015年社区中秋节活动总结
2015/03/23 职场文书
《风筝》教学反思
2016/02/23 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
Python装饰器的练习题
2021/11/23 Python