PHP 程式設計/PHP 包含檔案
外觀
< PHP 程式設計
在 PHP 中包含檔案有兩種方法:include 和 require。
include "file.php";
require "file.php";
它們本質上執行相同的函式,但有一個主要區別:include 只有在包含過程中出現問題時才會丟擲警告;然而,require 在這種情況下會停止執行。因此,指令碼的依賴關係通常會使用 require 呼叫。
在 4.0.2 版之前,require 還會嘗試讀取檔案,無論該檔案中的程式碼是否被執行。這意味著,如果檔案不存在,即使它永遠不會被解釋,也會丟擲一個錯誤。以下程式碼
<?php
if (false) {
require "some_nonexistent_file.php";
}
require "another_nonexistent_file.php";
因此,在 4.0.2 之前的版本中,第一次 require 會失敗,而在其他所有版本中,第二次 require 會失敗。
此外,還存在許多程式碼庫、類定義和變數宣告,您可能希望將其分離到一個包含檔案中,但這些檔案應該只被呼叫到當前指令碼中一次。為了確保這些庫只被包含一次,php 包含了 include_once() 和 require_once() 函式。
每次呼叫這些函式之一時,php 解析器都會記住它呼叫的檔案。如果另一個 include_once() 或 require_once 嘗試載入相同的檔案,解析器將簡單地跳過該命令。它不會產生任何錯誤或警告,它只會像該命令已成功執行一樣執行。這是因為,事實上,它確實已經執行了。
重要:如果您使用 include_once() 包含一個檔案,然後稍後使用 include() 包含該檔案,則該檔案將被包含第二次。如果使用 include_once() 包含一個檔案,並且使用 require_once() 呼叫同一個檔案,則該檔案將不再被包含。Include_once() 和 require_once() 具有相同的“記憶體”,就好像它們一樣。