PHP中include()与require()的区别说明

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
require  的使用方法如  require ( "MyRequireFile.php" ); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入  require  所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include  使用方法如  include ( "MyIncludeFile.php" ); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到  include  的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
 
他们两个的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区别在于错误处理的方式不一样。 
 
require 一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误 
include 一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。 
 
以下为补充:
 
1.  include 有返回值,而 require 没有。 
 
2.  include ()包括并运行指定文件 在处理失败时 include () 产生一个警告,被导入的程序代码都会被执行,而且这些程序在执行的时候会拥有和源文件中呼叫到 include ()语句的位置相同的变量范围。你可以导入同一个服务器中的静态页面。 
 
3.  include_once ()的作用和 include ()是几乎相同的 
唯一的差别在于 include_once ()会先检查要导入的档案是不是已经在该程序中的其它地方被导入过了,如果有的话就不会再次重复导入(这项功能有时候是很重要的,比方说要导入的里面宣告了一些你自行定义好的函数,那么如果在同一个程序重复导入这个文件,在第二次导入的时候便会发生错误讯息,因为PHP不允许相同名称的函数被重复宣告第二次)。 
 
4.  require ()会将目标文件的内容读入,并且把自己本身代换成这些读入的内容 在处理失败时 require () 则导致一个致命错。 
这个读入并且代换的动作是在PHP引擎编译你的程序代码的时候发生的,而不是发生在PHP引擎开始执行编译好的程序代码的时候(PHP 3.0引擎的工作方式是编译一行执行一行,但是到了PHP 4.0以后就有所改变了,PHP 4.0是先把整个程序代码全部编译完成后,再将这些编译好的程序代码一次执行完毕,在编译的过程中不会执行任何程序代码)。 require ()通常来导入静态的内容,而 include ()则适合用导入动态的程序代码。 
 
5. 如同 include_once (), require_once ()会先检查目标文件的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容。 
 
5.  require 是无条件包含也就是如果一个流程里加入 require ,无论条件成立与否都会先执行 require 。 
 
7.  require 通常放在PHP程序的最前面,PHP程序在执行前,就会先读入 require 所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。 
 
8.  include 一般是放在流程控制的处理部分中PHP程序网页在读到 include 的文件时,才将它读进来。 这种方式可以把程序执 行时 的流程简单化。
本文转自 IT阿飞 51CTO博客,原文链接:http://blog.51cto.com/itafei/1867570
相关文章
ly~
|
3月前
|
安全 Java 大数据
php跟java有什么区别
PHP 和 Java 是两种常用编程语言,各有特色。PHP 语法简洁灵活,适用于快速开发中小型网站,尤其在 Web 脚本和数据库交互中表现出色。Java 则语法严谨,强类型特性使其在企业级应用、移动开发及大数据处理中更受欢迎,具备高稳定性和安全性。通过优化,PHP 性能可提升,而 Java 在大规模应用中表现更佳。总体而言,PHP 开发效率高但维护性稍差,Java 则更注重代码质量和安全性。
ly~
92 5
|
3月前
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
6月前
|
PHP
PHP &&是什么,||是什么,&&和||有什么区别?
PHP &&是什么,||是什么,&&和||有什么区别?
59 1
|
7月前
|
PHP
PHP public、protected、private、static、abstract、final、interface、implements 区别对比
PHP public、protected、private、static、abstract、final、interface、implements 区别对比
99 0
|
PHP
PHP - Laravel Blade模板注释 {{-- 注释 --}} 与 <!-- 注释 --> 的区别
PHP - Laravel Blade模板注释 {{-- 注释 --}} 与 <!-- 注释 --> 的区别
101 0
|
机器学习/深度学习 安全 Java
PHP, Python和Java的区别
PHP, Python和Java是广泛使用的编程语言。每种编程语言都有其独特的优点和缺点。在本文中,我们将对这些编程语言进行分析,并探讨它们在不同应用场景中的最佳用途。
166 0
|
7月前
|
PHP 调度
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
82 5
|
PHP
php中elseif 和else if的区别
@(黑线)以前貌似看到if这里,就直接跳了,可是今天再读文档,又发现了点东西... @(乖)可能你已经知道了php存在elseif 和else if,保留了c的风格。
77 0