讲解一下PHP 中 include 和 require 概要以及不同

require() 语句的性能与 include() 相类似,都是包括并运行指定文件。除了处理失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR 级别的错误,终止脚本运行;而include 只产生警告(E_WARNING),脚本会继续运行。

概要

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 2

Warning: include() [function.include]: Failed opening 'test-nothing.php' for inclusion (include_path='.;C:\php5\pear'in D:\www\test-include.php on line 2

abc

浏览 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 2

Fatal 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() 时使用这个变量。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/223680.html<

(0)
运维的头像运维
上一篇2025-04-16 02:04
下一篇 2025-04-16 02:05

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注