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

 更新时间:2014年08月28日 08:54:39   投稿:shichen2014  
这篇文章主要介绍了什么情况下可以不写PHP的闭合标签“?>”,是进行PHP程序开发需要特别注意的地方,需要的朋友可以参考下

在一些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实现查询手机归属地的方法详解

    PHP实现查询手机归属地的方法详解

    最近通过在网上面的学习,完成了 PHP 实现手机归属地查询的功能。所以下面这篇文章主要给大家介绍了利用PHP实现查询手机归属地的方法,文中给出了详细的代码示例,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-04-04
  • PHP命名空间namespace定义及导入use用法详解

    PHP命名空间namespace定义及导入use用法详解

    这篇文章主要介绍了PHP命名空间namespace定义及导入use用法,结合实例形式详细分析了php中命名空间namespace的功能、定义及导入use相关使用方法与操作技巧,需要的朋友可以参考下
    2018-03-03
  • PHP关于htmlspecialchars、strip_tags、addslashes的解释

    PHP关于htmlspecialchars、strip_tags、addslashes的解释

    这篇文章主要介绍了PHP关于htmlspecialchars、strip_tags、addslashes的解释,需要的朋友可以参考下
    2014-07-07
  • php图片验证码代码

    php图片验证码代码

    php验证码效果代码
    2008-03-03
  • php多进程模拟并发事务产生的问题小结

    php多进程模拟并发事务产生的问题小结

    这篇文章主要给大家介绍了关于php多进程模拟并发事务产生的问题,文中通过示例代码介绍的非常想吃详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • input file获得文件根目录简单实现

    input file获得文件根目录简单实现

    js获得file根目录,然后赋值给hidden类型input,然后就可以交给php or jsp 处理了,感兴趣的朋友可以参考下哈,希望可以帮助到你
    2013-04-04
  • 用vscode运行php的图文详解

    用vscode运行php的图文详解

    这篇文章给大家介绍了使用vscode运行php的操作步骤,文中通过图文结合的方式介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • PHP 5.3新增魔术方法__invoke概述

    PHP 5.3新增魔术方法__invoke概述

    这篇文章主要介绍了PHP 5.3新增魔术方法__invoke,需要的朋友可以参考下
    2014-07-07
  • PHP 设计模式之观察者模式介绍

    PHP 设计模式之观察者模式介绍

    观察者模式定义对象的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新!
    2012-02-02
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    假如你的网站垃圾评论很多,大部分垃圾评论是带链接的,因为要增加反向链接嘛,所以你可以使用下面的小技巧来杜绝这些带链接的垃圾评论
    2013-09-09

最新评论