php使用include 和require引入檔案的差別是什麼?
require()語句的效能與include()相類似,都是包含並執行指定檔。不同之處在於:對include()語句來說,在執行檔案時每次都要讀取和評估;而對於require()來說,檔案只處理一次(實際上,檔案內容替換require()語句)。
最近有小夥伴,提問了有關於require_once的有關問題,對於程式中遇到的問題,無聊難度大小,只要bug存在就還值得我們去探索,去解決。針對這個問題,我把include和require的詳細用法進行歸納。 (結合查閱資料和自己的理解,整合出來的)希望能給有需要的小夥伴一點幫助。
引入檔案:
首先需要一個php檔案:
<?php class shao//类名必须和文件名相同!!! { public $xxx="666"; } $shili = new shao(); echo $shili->xxx; ?>
引用:
<?php //引入文件 include "shao.php";//引用文件;只能引用一遍 //引用多个则费劲 //include_once("shao.php");//一次又一次 //也可以require ("shao.php"); ?>
其中include與require的差異:
require:
執行到require()時,只會讀取一次檔案,故常放在程式開頭,檔案引入後PHP會將網頁檔重新編譯,讓引入檔成為原先網頁的一部分。
require() :無條件包含,如果檔案不存在,會報出一個fatal error.當腳本停止執行
require遇到錯誤時,直接報錯並停止執行程式
include:
執行到include()時,每次都會讀取檔案,故常用於流程控制的區段,如條件判斷或迴圈中。
include() : 有條件包含,如果檔案不存在,會給予一個warning,但腳本會繼續執行
include遇到錯誤時(引用的檔案不存在),PHP只是報錯,但程式會繼續執行下去
以下為補充:
#1. include有回傳值,而require則沒有。
2. include()包含並執行指定檔案在處理失敗時include() 產生警告,被匯入的程式碼都會被執行,而且這些程式在執行的時候會擁有和原始檔中呼叫到include( )語句的位置相同的變數範圍。你可以匯入同一個伺服器中的靜態頁面。
3. include_once()的作用和include()是幾乎相同的唯一的差別在於include_once()會先檢查要導入的檔案是不是已經在該程序中的其它地方被導入過了,如果有的話就不會再重複導入(這項功能有時候是很重要的,比方說要導入的裡面宣告了一些你自行定義好的函數,那麼如果在同一個程序重複導入這個文件,在第二次導入的時候會發生錯誤訊息,因為PHP不允許相同名稱的函數重複宣告第二次)。
4. require()會將目標檔案的內容讀入,並且把自己本身代換成這些讀入的內容 在處理失敗時require() 則導致一個致命錯。 這個讀入並且代換的動作是在PHP引擎編譯你的程式碼的時候發生的,而不是發生在PHP引擎開始執行編譯好的程式碼的時候(PHP 3.0引擎的工作方式是編譯一行執行一行,但到了PHP 4.0以後就有所改變了,PHP 4.0是先把整個程式碼全部編譯完成後,再將這些編譯好的程式碼一次執行完畢,在編譯的過程中不會執行任何程式碼)。 require()通常會來導入靜態的內容,而include()則適合使用導入動態的程式碼。
5. 如同include_once(),require_once()會先檢查目標檔案的內容是不是在之前就已經導入過了,如果是的話,便不會再重複導入同樣的內容。
6. require是無條件包含也就是如果一個流程裡加入require,無論條件成立與否都會先執行require。
7. require通常放在PHP程式的最前面,PHP程式在執行前,就會先讀入require所指定引入的文件,使它變成PHP程式網頁的一部份。常用的函數,亦可以這個方法將它引入網頁中。
8. include一般是放在流程控制的處理部分PHP程式網頁在讀到include的檔案時,才將它讀進來。這種方式可以把程式執行時的流程簡單化。
建議使用require_once()和include_once(),可以偵測檔案是否有重複包含。
自動載入:
#被引用的php檔案:
<?php class shao//类名必须和文件名相同!!! { public $xxx="666"; } ?>
自動載入:
<?php function autoload($asd) { require $asd.".php";//可填地址查找 } $shili = new shao(); echo $shili->xxx; ?>
以上是php使用include 和require引入檔案的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7
