? ? 最早的PHP主要是通過require或者incloud來挨個載入依賴的文件。當項目變大的時候一個文件要依賴多個類就得在代碼之前寫很多行require來引入尖淘。
? ? PHP5.2之后捉兴,提供了類的自動載入功能屎即,最早是用
function __autoload($class){require __DIR__.'/'.$class.'php;}這個魔術(shù)方法蝗蛙,若發(fā)現(xiàn)之前調(diào)用的類不存在,則會自動調(diào)用這個函數(shù)吼旧,這個函數(shù)會把調(diào)用的類名告訴你,然后通過函數(shù)內(nèi)的方法自動載入未舟。
但這個函數(shù)后來被廢棄了圈暗,因為當php的工程可能會依賴多個框架掂为,如果說我們每一個框架都有這個函數(shù),那就會報一個函數(shù)重復(fù)定義的致命錯誤员串。在php5.3之后勇哗,官方提供了一個spl_autoload_register()函數(shù)來取代__autoload()函數(shù),spl_autoload_register()函數(shù)允許多個__autoload()函數(shù)
這種方法比第一種更先進一些昵济,也是我們目前采用的主要的一種方法智绸。