__autoload()不執行報錯的解決辦法


在php5之后已經有了類的自動加載機制,可以定義__autoload函數,在使用到某個未定義的類,執行php會出錯,但是在此時php引擎在返回失敗之前會去check下是否有定義__autoload去加載需要的類。

最近將項目切php7.0運行報錯提示“Deprecated: __autoload() is deprecated, use spl_autoload_register() instead in**********”

原因php7以上版本不支持用“function __autoload(){}”,才會報這個錯誤。

解決辦法

1、把php版本降低一點就行了,5.6和5.4都行。

2、將__autoload改寫為spl_autoload_register方式加載 (推薦)

//原代碼
function __autoload($name) {

}
//改寫后
spl_autoload_register(function ($name) {

});

函數體內內容不變,至此問題解決。

 

作者:舊舊的 <393210556@qq.com> 解決問題的方式,就是解決它一次


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM