php spl_autoload_register() 函数
spl_autoload_register()的用法:
其中$this表示當前類,autoload()是我注冊的自動加載函數(shù),當然這個只是一個函數(shù)名,只要不與php的關(guān)鍵字重復,符合一般函數(shù)名的命名規(guī)范即可。
使用自動加載之后,當我們在一個類中需要加載很多個其它類文件時,不用頻繁使用require()函數(shù),這樣代碼看起來更加規(guī)范,至于性能上是否有很大提升這個需要研究一下php的內(nèi)核。
?
php是靠zend 引擎解析程序的,zend引擎中存在SPL__autoload棧,當你使用spl_autoload_register()將一個函數(shù)注冊為自動加載函數(shù)之后,同時激活該棧中的函數(shù)。即使你的程序中使用的函數(shù)名是__autoload(php中帶__的方法為魔術(shù)方法),也必須使用spl_autoload_register()函數(shù)顯示注冊到__autoload棧中。因為spl_autoload_register()會將Zend Engine中的__autoload函數(shù)取代為spl_autoload()或spl_autoload_call()。每當你實例化一個不存在的類時,SPL? autoload通過將函數(shù)指針autoload_func指向你實現(xiàn)的具有自動裝載功能的函數(shù)。SPL有兩個不同的函數(shù)spl_autoload,? spl_autoload_call,通過將autoload_func指向這兩個不同的函數(shù)地址來實現(xiàn)不同的自動加載機制。便會觸發(fā)這個函數(shù)加載對應的類文件,這樣便達到一個‘自動化’的效果,全世界都在追求自動化,程序也不例外呀。
轉(zhuǎn)載于:https://www.cnblogs.com/liuchaoyang/p/6404696.html
總結(jié)
以上是生活随笔為你收集整理的php spl_autoload_register() 函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python爬虫实战(2) 爬取中国土壤
- 下一篇: [vim] vim中使用cscope的安