什么情况下可以不写PHP的闭合标签“?>”


Posted in PHP onAugust 28, 2014

在一些PHP项目里我们经常会看到有些PHP文件中的代码是只有开始标签,而没有结束标签的,那么什么情况下可以不写这个结束标签,而什么情况下又必须写?

对此我们先来看2个例子:

下面的代码可以正常运行:

<?php
  echo 123456;

下面的代码会报错:

<?php
  echo 123456;
  <p>abc</p>

原因分析:
前者是纯php代码,可以不写结束标签,也不推荐写结束标签;后者除了php代码,还有html代码,必须要写结束标签。
 
那么为什么不推荐前者写结束标签呢?
因为在不写php结束标签时,默认从开始标签往后都是php代码,如果有其他代码,那就会报错。php只能运行在php标签里面的脚本,在脚本之外的所有字符,包括你看不见的空格或者回车,制表符号,都是作为输出内容会response到客户端的,这样就有可能会产生意想不到的事情。例如文件里面使用了header函数,这个文件同时又包含了另外一个文件,并且被包含的文件的php标签外有空字符,这个时候会报header already send的错误。我们查看一些网页的源代码看到的开头部分有很多空格和换行,就是因为这个原因导致的。

解决方案建议:

库文件、或者一些class文件等只有纯php代码的文件不推荐加结束标签

相信本文所述对大家的PHP程序设计有一定的参考价值。

PHP 相关文章推荐
BBS(php &amp; mysql)完整版(二)
Oct 09 PHP
php执行sql语句的写法
Mar 10 PHP
php ckeditor上传图片文件名乱码解决方法
Nov 15 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
php实现水仙花数的4个示例分享
Apr 08 PHP
PHP实现的带超时功能get_headers函数
Feb 10 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
Dec 01 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
php实现URL加密解密的方法
Nov 17 PHP
PHP递归算法的简单实例
Feb 28 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 PHP
php实现简单四则运算器
Nov 29 PHP
PHP防盗链代码实例
Aug 27 #PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 #PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 #PHP
简单分析ucenter 会员同步登录通信原理
Aug 25 #PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
Aug 25 #PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 #PHP
php防止伪造数据从地址栏URL提交的方法
Aug 24 #PHP
You might like
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
js密码强度校验
2015/11/10 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
JS常见错误(Error)及处理方案详解
2020/07/02 Javascript
Python装饰器decorator用法实例
2014/11/10 Python
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
信息专业本科生个人的自我评价
2013/10/28 职场文书
小学生检讨书大全
2014/02/06 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
走群众路线学习笔记
2014/11/06 职场文书
2014年医院党建工作总结
2014/12/20 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
python小程序之飘落的银杏
2021/04/17 Python
Django框架模板用法详解
2022/06/10 Python