首先我詳細說下這四個引入函數
include() 與##require() 的功能相同
唯一不同:require()不管是否被執行,只要存在,php在執行前都會預先引入,include()則是執行到該語句時才進行引入
#include_once() 與 require_once() 都是偵測檔案是否被引入,被引入則不會引入
唯一不同: require_once()為無條件包含,顧名思義也就是引入後如遇到錯誤則停止,include_once()則忽略然後繼續執行
關於效率問題,我要說明,請自覺少用include_once()、 require_once()
#此函數原理:引入檔案->對目前腳本語句進行比較是否包含過->決定是否引入,效率可想而知,你想你要是整個專案上百個類別庫,一次執行中比較數十次是怎樣的一個恐怖的後果
看到有些大牛的部落格上寫到,不用在意這些小細節,多注重sql上優化,我的見解是,一個想不斷鑽研的程式設計師來說,應該維持一個好的效率最佳化習慣,並專注在每個細節
在這裡寫一下個人的多類別庫中防止重複引入檔案的解決方式:##
1.在呼叫腳本使用require();
2.類別庫中防止重複使用 class_exists('類別名稱') or include('類別庫絕對路徑'); # 解釋:呼叫腳本的檔案使用一次require(),因為呼叫腳本為程式通用入口,此處引入公共類別庫很少會造成
公共
######類別庫沒有被使用,在類別庫中使用以上語句,能防止當前腳本重複引入公共類別庫,並且只要透過判斷條件才會執行引入,不會重複預先引入,提高程式執行效率################### ####以上是php中重複引入出現的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!