require与include的性能类似。
概要
前面章节都是单PHP文件运行示例,但是要使PHP更加强大的健壮,我们要引入许多自己写的或者别人写的PHP文件。这时就需要使用require和inlucde。在介绍引入文件关键字前,我们要了解操作系统的路径表表示方法。
操作系统文件路径
以window为例,假设在C盘下的test文件夹里有一个a.jpg的文件。如果我们打开了test文件夹,a.jpg的表示路径可以为:
<code>//绝对路径
c:\\test\\a.jpg
//相对路径
a.jpg
//相对路径
.\\a.jpg/<code>
C盘下的b.jpg时,可以用:
<code>..\\b.jpg/<code>
操作系统默认( .)表示当前目录,(..)表示上级目录。
PHP文件的引用
PHP提供了三种类型的包含语句:
- include : 在用到时加载
- require: 一开始就加载
- include_once,require_once : 只加载一次
PHP 系统在加载PHP程序时有一个伪编译过程,可使程序运行速度加快。但 incluce 的文档仍为解释执行。include 的文件中出错了,主程序继续往下执行,require 的文件出错了,主程序也停了,所以包含的文件出错对系统影响不大的话(如界面文件)就用 include,否则用 require。
require() 和 include() 语句是语言结构,不是真正的函数,可以像 php 中其他的语言结构一样,例如 echo() 可以使用 echo("ab") 形式,也可以使用 echo "abc" 形式输出字符串 abc。require() 和include() 语句也可以不加圆括号而直接加参数。
include_once() 和 require_once() 语句也是在脚本执行期间包括运行指定文件。此行为和 include() 语句及 require() 类似,使用方法也一样。唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的情况下,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题。
需要注意的是:
- include 引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。
- require 引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。
以下示例的结构是index.php文件的当前目录下有一个aaa的文件,在aaa文件夹下有一个test.php。
![PHP文件引用方式](http://p2.ttnews.xyz/loading.gif)
rquire示例
![PHP文件引用方式](http://p2.ttnews.xyz/loading.gif)
incude示例
閱讀更多 李老師tome 的文章