php中include与require的区别
require的使用方法如require(“MyRequireFile.php”)。这个函数通常放在php程序的最前面,php程序在执行前,就会读入require所指定引入的文件,使它变成php程序网页的一部分。常用的函数,也可以通过这个方法将它引入网页中。include的使用方法如include(“MyIncludeFile.php”)。这个函数一般是放在流程控制的处理部分中。php程序网页在读到include的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
他们的用途是完全一样的,不一定非得哪个放在前面哪个放在中间。它们最根本的区别在于错误处理的方式不一样。
require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误。
include一个文件存在错误的话,那么程序不会中断,而是继续执行,并显示一个警告错误。
include有返回值,而require没有。
include()包括并运行指定文件在处理失败时,include产生一个警告,被导入的程序代码都会被执行,而且这些程序在执行时会拥有和源文件中include语句的位置相同的变量范围。可以导入同一个服务器中的静态页面。
include_once()的作用和include()是几乎相同的,唯一的差别在于include_once会先检查要导入的档案是不是已经在该程序中的其他地方被导入过了,如果有的话就不会再次重复导入(这项功能有时候是很重要的,比方说要导入的里面宣告了一些自行定义好的函数,那么如果在同一个程序重复导入这个文件,在第二次导入的时候便会发生错误讯息,因为PHP不允许相同名称的函数被重复宣告第二次)
require()会将目标文件的内容读入,并且把自己本身代换成这些读入的内容。在处理失败时require()则导致一个致命错。
这个读入并且代换的动作是在PHP引擎编译你的程序代码的时候发生的,而不是发生在php引擎开始执行编译好的程序代码的时候(php3.0引擎的工作方式是编译一行执行一行,但是到了php4.0以后就有所改变了,php4.0是先把这个程序代码全部编译完成后,再将这些编译好的程序代码一次执行完毕,在编译的过程中不会执行任何程序代码)。require()通常来导入静态的内容,而include则适合用于导入动态的程序代码。
require_once会先检查目标文件的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容。
require是无条件包含,也就是如果一个流程里加入require,无论条件成立与否,都会先执行require
require通常放在php程序的最前面,php程序在执行前,就会先读入require所指定引入的文件,使它变成php程序网页的一部分。常用的函数,也可以使用这个方法将它引入网页中。
include一般是放在流程控制的处理部分中,php程序在网页在读到include的文件时,才将它读进来。这种方式可以把程序执行时的流程简单化。
页:
[1]