require、include、require_once和include_once到底有什么區(qū)別呢?相信很多PHP新手對這個問題也會感到困惑吧葫辐!
一、require和include語句
- 使用include語句引用外部文件時男翰,當代碼執(zhí)行到include語句時才將外部文件引入并讀取另患,如果所引用的文件發(fā)生錯誤時纽乱,系統(tǒng)會給出一個警告蛾绎,而整個PHP文件繼續(xù)向下運行。
- 而require語句的用法與include的用法相似鸦列,都是對外部文件的引用租冠。但是在PHP腳本執(zhí)行前,PHP解析器將用外部文件替換require語句薯嗤,然后與其他語句組成新的PHP文件并執(zhí)行該程序顽爹。
- 由于require語句是將一個源文件的內容完全復制到PHP腳本文件中,所以通常放置在腳本最前面骆姐,主要用來引用需要的公共函數(shù)以及公共類镜粤。
- require和include幾乎完全一樣,除了處理失敗方式不同:include產生一個Warning玻褪,而require則導致一個Fatal Error
實例require和include語句
<?php
//在文件頭部用require引入config.php文件
require 'config.php';
//滿足條件$condition,則用include引入one.php
if($condition){
include 'one.php';
}else{
include 'other.php';
}
?>
二肉渴、 require_once和include_once
require_once和include_once語句與require和include語句類似,它們之間的區(qū)別如下带射。
- require_once和include_once語句會記住文件是否已經被包含同规,如果已經包含了,則不會再次包含窟社。這兩個語句用于在腳本執(zhí)行期間且同一文件可能被包含不止一次的情況下券勺,確保該文件只被包含一次,以避免函數(shù)和類重復定義以及變量重新賦值等灿里。