• 技术文章 >后端开发 >php教程

    语句include和require及require_once的区别是什么?

    2016-06-23 13:49:26原创554
    语句include和require及require_once的区别是什么?


    回复讨论(解决方案)



    include() 语句包含并运行指定文件。

    这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行。同时也要确认设置了合适的 include_path。注意在 PHP 4.3.5 之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。
    include_once

    The include_once() 语句在脚本执行期间包含并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。

    include_once() 应该用于在脚本执行期间同一个文件有可能被包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。
    require_once

    require_once() 语句在脚本执行期间包含并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含。有关此语句怎样工作参见 require() 的文档。

    require_once() 应该用于在脚本执行期间同一个文件有可能被包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。

    1、include()
    include(/path/to/filename)
    include()语句将在其被调用的位置处包含一个文件。包含一个文件与在该语句所在位置复制制定文件的数据具有相同内容的效果。
    使用include()时可以忽略括号。
    可以根据条件来执行include()语句。在条件语句中使用include()有个怪现象,它必须包围在语句块大括号中,或者用其他语句包围符括起来。
    2、include_once()
    include_once(filename)
    include_once()函数的作用与include相同,不过它会首先验证是否已经包含了该文件。如果已经包含,则不再执行include_once。否则,则必须包含该文件。除了这一点与include完全相同。
    3、require()
    require(filename)
    require()在很大程度上与include相同,都是将一个模板文件包含到require调用坐在的位置。
    require和include之间有两点重要的区别。首先,无论require的位置如何,制定文件都将包含到出现require的脚本中。例如,即使require放在计算结果为假的if语句中,依然会包含指定文件。
    第二个重要的区别是:require出错时,脚本将停止运行,而在使用include的情况下,脚本将继续执行。
    4、require_once()
    require_once(filename)
    随着网站越来越大,可能会出现重复包含某些文件。这也许不是问题,但又是修改了所包含文件的变量后,却由于后面再次包含原来的文件而被覆盖,可能不希望出现这种情况。还可能出现另一个问题,即所包含文件中函数名的冲突。使用require_once就可以解决这些问题。
    require_once函数确保文件只包含一次。在遇到require_once后,后面再试图包含相同的文件时将被忽略。

    1、include()
    include(/path/to/filename)
    include()语句将在其被调用的位置处包含一个文件。包含一个文件与在该语句所在位置复制制定文件的数据具有相同内容的效果。
    使用include()时可以忽略括号。
    可以根据条件来执行include()语句。在条件语句中使用include()有个怪现象,它必须包围在语句块大括号中,或者用其他语句包围符括起来。
    2、include_once()
    include_once(filename)
    include_once()函数的作用与include相同,不过它会首先验证是否已经包含了该文件。如果已经包含,则不再执行include_once。否则,则必须包含该文件。除了这一点与include完全相同。
    3、require()
    require(filename)
    require()在很大程度上与include相同,都是将一个模板文件包含到require调用坐在的位置。
    require和include之间有两点重要的区别。首先,无论require的位置如何,制定文件都将包含到出现require的脚本中。例如,即使require放在计算结果为假的if语句中,依然会包含指定文件。
    第二个重要的区别是:require出错时,脚本将停止运行,而在使用include的情况下,脚本将继续执行。
    4、require_once()
    require_once(filename)
    随着网站越来越大,可能会出现重复包含某些文件。这也许不是问题,但又是修改了所包含文件的变量后,却由于后面再次包含原来的文件而被覆盖,可能不希望出现这种情况。还可能出现另一个问题,即所包含文件中函数名的冲突。使用require_once就可以解决这些问题。
    require_once函数确保文件只包含一次。在遇到require_once后,后面再试图包含相同的文件时将被忽略。

    继续楼上:
    require()在很大程度上与include相同,都是将一个模板文件包含到require调用坐在的位置。
    require和include之间有两点重要的区别。首先,无论require的位置如何,制定文件都将包含到出现require的脚本中。例如,即使require放在计算结果为假的if语句中,依然会包含指定文件。
    第二个重要的区别是:require出错时,脚本将停止运行,而在使用include的情况下,脚本将继续执行。

    经常考的面试题。被楼上说完了。

    一般用require和require_once

    简单点:
    三个都是引入文件。
    引入文件不存在时,include会有一个警告,但是不会停止代码执行,而require会停止代码执行,
    require_once只引入文件一次,防止function等重定义

    1、include()作用:在其被调用的位置处包含一个文件;
    2、nclude_once()函数的作用与include相同;
    3、require():在很大程度上与include相同,都是将一个模板文件包含到require被调用的位置。
    4、require_once函数确保文件只包含一次。在遇到require_once后,后面再试图包含相同的文件时将被忽略。
    区别:
    1、require出错时,脚本将停止运行,而在使用include的情况下,脚本将继续执行。
    2、无论require的位置如何,制定文件都将包含到出现require的脚本中。例如,即使require放在计算结果为假的if语句中,依然会包含指定文件。
    3、include_once()函数与include的区别:include_once()首先验证是否已经包含了该文件。如果已经包含,则不再执行include_once。否则,则必须包含该文件。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php和html代码混写,php运行错误 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • PHP网站常见一些安全漏洞及防御方法• PHP Hyperf 3.0 发布!新功能速览• 详解PHP怎么实现旋转图片验证• 简单理解PHP超级全局变量• 一起聊聊PHP的路由与伪静态应用
    1/1

    PHP中文网