include和require 的區別

include和require 的區別

上次面試 被問到了 Include和require 的區別,以及整個框架來加載引入文件的流程,現在就來記錄一下。

他們共同的地方就是 都可以通過include 或者 require 引入文件

不同之處

require 會生成致命錯誤(E_COMPILE_ERROR)並停止腳本
include 只生成警告(E_WARNING),並且腳本會繼續

因此,如果您希望繼續執行,並向用戶輸出結果,即使包含文件已丟失,那麼請使用 include。否則,在框架、CMS 或者複雜的 PHP 應用程序編程中,請始終使用 require 向執行流引用關鍵文件。這有助於提高應用程序的安全性和完整性,在某個關鍵文件意外丟失的情況下。

由此可見,當文件不是必需的,且應用程序在文件未找到時應該繼續運行時 可以使用include,找不到文件就停止時 使用require;

下面來看一下在框架中是如何加載文件的:
關鍵函數:spl_autoload_register 或者是 __autolaod
在這裏插入圖片描述

調用另一個類要麼與調用處在一個文件內部,要麼就要使用require,include等函數,但是當你調用一個類,但是這個類沒有進行上述操作時,__autoload就會自動執行,這就是自動加載的核心原理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章