纯php文件不加结束标记的好处
2015-11-09 16:03
627 查看
(1)合理性:
PHP闭合标签"?>"在php中对php分析器是可选的,在一些编程规范里面,php结束符在纯php脚本文件里是必须忽略的,php结束符仅仅用于在php与html混写时表示php代码的结束,而对于纯php文件来说,这个文件结束了,代码就结束了,没必要加上结束符,因为加上结束符会引发很多不必要的麻烦。
(2)影响:
倘若加上结束符,那么在结束符之后,包括你看不见的空格或者回车,制表符号,都会作为输出内容会response到客户端上。
在php中,header, setcookie, session_start等函数这些动作之前不能有输出,如果在此之前你include或者require了纯php文件,并且“?>”结束符后面多出了其他看不见的字符,那么将导致程序报错,得不到期望的结果。
所以一般像这种函数报错时,如果排查不出症结所在,那你就要考虑下是不是include或require某个文件其结束标志后存在多余字符。
//说到session,kepon有一次不小心将php文件转化成了“utf-8 无 BOM"格式,这种文件格式会在文件的开头添加一个文件标志,运行时连同这个标志也输出,这也导致session_start()报错,解决的方法是重新创建一个非”utf-8
无 BOM"格式文件。
(3)编码规范:
纯php文件不应该加上“?>”结束标记,同时在php代码末尾插入一段注释来表明这是文件的底部并定位这个文件在这个应用中的相对路径。
PHP闭合标签"?>"在php中对php分析器是可选的,在一些编程规范里面,php结束符在纯php脚本文件里是必须忽略的,php结束符仅仅用于在php与html混写时表示php代码的结束,而对于纯php文件来说,这个文件结束了,代码就结束了,没必要加上结束符,因为加上结束符会引发很多不必要的麻烦。
(2)影响:
倘若加上结束符,那么在结束符之后,包括你看不见的空格或者回车,制表符号,都会作为输出内容会response到客户端上。
在php中,header, setcookie, session_start等函数这些动作之前不能有输出,如果在此之前你include或者require了纯php文件,并且“?>”结束符后面多出了其他看不见的字符,那么将导致程序报错,得不到期望的结果。
所以一般像这种函数报错时,如果排查不出症结所在,那你就要考虑下是不是include或require某个文件其结束标志后存在多余字符。
//说到session,kepon有一次不小心将php文件转化成了“utf-8 无 BOM"格式,这种文件格式会在文件的开头添加一个文件标志,运行时连同这个标志也输出,这也导致session_start()报错,解决的方法是重新创建一个非”utf-8
无 BOM"格式文件。
(3)编码规范:
纯php文件不应该加上“?>”结束标记,同时在php代码末尾插入一段注释来表明这是文件的底部并定位这个文件在这个应用中的相对路径。
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- php xml 入门学习资料