淺談 PHP類的自動載入

? ? 最早的PHP主要是通過require或者incloud來挨個載入依賴的文件。當項目變大的時候一個文件要依賴多個類就得在代碼之前寫很多行require來引入。

? ? PHP5.2之后,提供了類的自動載入功能,最早是用

function __autoload($class){require __DIR__.'/'.$class.'php;}這個魔術方法,若發(fā)現之前調用的類不存在,則會自動調用這個函數,這個函數會把調用的類名告訴你,然后通過函數內的方法自動載入。

但這個函數后來被廢棄了,因為當php的工程可能會依賴多個框架,如果說我們每一個框架都有這個函數,那就會報一個函數重復定義的致命錯誤。在php5.3之后,官方提供了一個spl_autoload_register()函數來取代__autoload()函數,spl_autoload_register()函數允許多個__autoload()函數

這種方法比第一種更先進一些,也是我們目前采用的主要的一種方法。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 在PHP開發(fā)過程中,如果希望從外部引入一個class,通常會使用include和require方法,去把定義這...
    四月不見閱讀 1,135評論 0 0
  • 本文分為兩部分:第一部分講__autoload()函數實現的類自動加載。第二部分講spl_autoload_reg...
    舒小賤閱讀 2,646評論 1 4
  • Welcome 目前網絡上充斥著大量的陳舊信息,讓PHP新手誤入歧途,傳播著錯誤的實踐和糟糕的代碼,這必須得到糾正...
    layjoy閱讀 21,851評論 7 118
  • 一 預定義接口 1.1 遍歷 Traversable(遍歷)接口 檢測一個類是否可以被foreach遍歷,該接口不...
    coderhu閱讀 1,307評論 0 0
  • 自由書寫第二期,第三篇,2017.1.4 現在的感覺就是很舒服,就是你的喜悅程度會持續(xù)很久,不會很容易被一些情緒...
    Vicky靈氣閱讀 382評論 0 1

友情鏈接更多精彩內容