通過一些語句或函數(shù)可以在當(dāng)前腳本中引入另一個(gè)腳本文件夏漱,被引入的腳本文件擁有當(dāng)前腳本所在行的作用域范圍淑掌,且被引入的腳本文件中的函數(shù)和類都具有全局作用域。
include
:出錯(cuò)時(shí)發(fā)出警告挥等,腳本繼續(xù)
require
:出錯(cuò)時(shí)立即報(bào)錯(cuò)友绝,腳本終止
兩者功能、參數(shù)肝劲、返回值都一樣九榔,都可以使用語句形式或函數(shù)形式調(diào)用,參數(shù)是一個(gè)文件路徑涡相,該路徑如果是一個(gè)文件名哲泊,則先去 php.ini
中配置的 include_path
中查找,如果沒找到催蝗,則去當(dāng)前腳本所在的目錄下尋找切威,如果還沒找到,就GG了丙号,出錯(cuò)處理看上面先朦。
include("child.php");
include "child.php";
require("child.php");
require "child.php";
include
和 require
加不加括號效果都一樣,都能成功的引入一個(gè)腳本犬缨。
// 引入一個(gè)返回 123 的文件
$foo = include "child.php";
// 輸出 123
echo $foo;
// 引入一個(gè)空文件
$bar = require "empty.php";
// 輸出 1
echo $bar;
如果引入的文件中沒有明確使用 return
返回?cái)?shù)據(jù)喳魏,那么返回值代表的是是否成功引入文件,成功返回 1
怀薛,失敗返回 FALSE
刺彩,并產(chǎn)生錯(cuò)誤或警告或終止。
因?yàn)?include
和 require
是語言結(jié)構(gòu),所以一般在使用的時(shí)候建議不要使用函數(shù)形式创倔。
如果被包含的文件中有定義函數(shù)嗡害,那么不管該函數(shù)的定義是否在 return
之后,主腳本中都可以使用畦攘。
include_once
:如同include
require_once
:如同require
上面兩個(gè)的作用是霸妹,可避免重復(fù)引入導(dǎo)致被引入的文件中的函數(shù)、變量等重復(fù)定義知押。