require() 语句的性能与 include() 相类似,都是包括并运行指定文件。不同之处在于:对 include() 语句来说,在执行文件时每次都要进行读取和评估;而对于 require() 来说,文件只处理一次(实际上,文件内容替换 require() 语句)。

概要

require() 语句的性能与 include() 相类似,都是包括并运行指定文件。不同之处在于:对 include() 语句来说,在执行文件时每次都要进行读取和评估;而对于 require() 来说,文件只处理一次(实际上,文件内容替换 require() 语句)。这就意味着如果可能执行多次的代码,则使用 require() 效率比较高。另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用 include() 语句。

require() 的使用方法如:

require("myfile.php")

这个语句通常放在 PHP 脚本程序的最前面。PHP 程序在执行前,就会先读入 require() 语句所引入的文件,使它变成 PHP 脚本文件的一部分。

include() 使用方法和 require 一样如:

include("myfile.php")

这个语句一般是放在流程控制的处理区段中。

PHP 脚本文件在读到 include() 语句时,才将它包含的文件读取进来。这种方式,可以把程式执行时的流程简单化。

  1. incluce 在用到时加载
  2. require 在一开始就加载
  3. _once 后缀表示已加载的不加载

PHP 系统在加载PHP程序时有一个伪编译过程,可使程序运行速度加快。但 incluce 的文档仍为解释执行。include 的文件中出错了,主程序继续往下执行,require 的文件出错了,主程序也停了,所以包含的文件出错对系统影响不大的话(如界面文件)就用 include,否则用 require。

require() 和 include() 语句是语言结构,不是真正的函数,可以像 php 中其他的语言结构一样,例如 echo() 可以使用 echo("ab") 形式,也可以使用 echo "abc" 形式输出字符串 abc。require() 和i nclude() 语句也可以不加圆括号而直接加参数。

include_once() 和 require_once() 语句也是在脚本执行期间包括运行指定文件。此行为和 include() 语句及 require() 类似,使用方法也一样。唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的情况下,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题。

详解

报错

include 引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。

require 引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。

用例子来说话,写两个 php 文件,名字为 test-include.php 和 test-require.php,注意相同的目录中,不要存在一个名字是 test-nothing.php 的文件。

test-include.php
test-require.php

浏览 http://localhost/test-include.php,因为没有找到 test-nothing.php 文件,我们看到了报错信息,同时,报错信息的下边显示了 abc,你看到的可能是类似下边的情况:

Warning: include(test-nothing.php) [function.include]: failed to open stream: No such file or directory in D:\www\test-include.php on line 2Warning: include() [function.include]: Failed opening 'test-nothing.php' for inclusion (include_path='.;C:\php5\pear') in D:\www\test-include.php on line 2abc

浏览 http://localhost/test-require.php,因为没有找到 test-nothing.php 文件,我们看到了报错信息,但是,报错信息的下边没 有显示abc,你看到的可能是类似下边的情况:

Warning: require(test-nothing.php) [function.require]: failed to open stream: No such file or directory in D:\www\test-require.php on line 2Fatal error: require() [function.require]: Failed opening required 'test-nothing' (include_path='.;C:\php5\pear') in D:\www\test-require.php on line 2

文件引用方式

include() 执行时需要引用的文件每次都要进行读取和评估,require() 执行时需要引用的文件只处理一次(实际上执行时需要引用的文件内容替换了 require() 语句)可以看出若有包含这些指令之一的代码和可能执行多次的代码,则使用 require() 效率比较高,若每次执行代码时相读取不同的文件或者有通过一组文件叠代的循环,就使用 include(),可以给想要包括的文件名设置变量,当参数为 include() 时使用这个变量。

PHP 中 include 和 require 的概要及区别介绍相关推荐

  1. php中include和require,在PHP中include和require到底有什么区别呢?

    在PHP中include和require到底有什么区别呢?看这里的例子就知道了 include.php3的运行结果是: 这是inc1.inc文件中的一个变量的值! 这是inc2.inc文件中的一个变量 ...

  2. php require的用法,php7中include 和 require 语句用法和区别

    include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中. 包含文件很有用,如果您需要在网站的多张页面上引用相同的 PHP.HT ...

  3. PHP中include与require的特点和区别说明

    引用文件的方法有两种:require 及 include.两种方式提供不同的使用弹性. require 的使用方法如 require("MyRequireFile.php"); . ...

  4. PHP中include和require的区别详解

    PHP中include和require的区别详解 1.概要  require()语句的性能与include()相类似,都是包括并运行指定文件.不同之处在于:对include()语句来说,在执行文件时每 ...

  5. PHP中include和require

    PHP中include和require require(),include(),require_once()和include_once()的异同 require()和include()有许多相似之处, ...

  6. require与include+php,PHP中include与require有什么区别

    PHP中include与require有什么区别 发布时间:2021-01-13 15:24:31 来源:亿速云 阅读:81 作者:Leah PHP中include与require有什么区别?相信很多 ...

  7. php中的require(),PHP中include()与require()的区别说明

    require的使用方法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require ...

  8. PHP中include与require的用法区别

    在PHP变成中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是 ...

  9. php require的用法,PHP中include与require使用方法区别详解

    在PHP变成中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是 ...

最新文章

  1. Hadoop 全分布模式 平台搭建
  2. Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析(4)...
  3. POJ 3613 快速幂+Floyd变形(求限制k条路径的最短路)
  4. DateTimePicker——开源的Android日历类库
  5. LeetCode----9. 回文数
  6. 共享可写节包含重定位_理解重定位
  7. 如何在MySQL中重置AUTO_INCREMENT?
  8. python基础: 序列
  9. 51 单片机学习_2.1 独立按键控制LED亮灭
  10. 数据分析——RFM模型
  11. linux开机自动root,linux怎样设置root自动登录
  12. DVM,ART,JVM之间的关系
  13. 移动端 外部浏览器点击按钮跳转微信界面(唤醒微信)
  14. Linux中分卷压缩和合并解压
  15. 线性代数(13)——向量空间、维度和四大子空间(下)
  16. 用 Python 打扑克牌——炸金花
  17. 内网渗透神器xerosploit
  18. leetcode(546)消消乐(动态规划)
  19. 2018动脑学院数据结构与算法系列视频教程完整版
  20. 17岁中专毕业的低学历小哥,24岁却作为资深程序员逆袭出书!

热门文章

  1. 2019天猫双11成交额达2684亿,盘点今年双11有哪些亮点!
  2. 用Python分析你是否已经实现荔枝自由了?
  3. 涨姿势了!为什么Windows上面的软件都想把自己安装在C盘?
  4. python3.5全局解释器锁GIL-实现原理浅析
  5. Linux之mkdir和rm命令选项
  6. JavaScript如何获得项目根路径
  7. 哪个瞬间让你突然觉得CV技术真有用?
  8. OpenCV二值图像分析之形态学应用技巧
  9. 链表问题8——将单向链表按某值划分成左边小、中间相等、右边大的形式(进阶)
  10. POE POH等供电