class B{public function __construct(){$this->auto();$this->c();}public function auto(){spl_autoload_register(function($name){echo $name;//輸出A});}public function c(){new A();}}new B();//執行c方法時auto方法已經執行完了為什么還能實現自動加載
1 回答
臨摹微笑
TA貢獻1982條經驗 獲得超2個贊
_autoload 常用在自動加載類庫處理 也就是網上說的 這種方法,根據類名,找出類文件,然后require_one spl_autoload_register() __autoload的最大缺陷是無法有多個autoload方法 好了, 想下下面的這個情景,你的項目引用了別人的一個項目,你的項目中有一個__autoload,別人的項目也有一個__autoload,這樣兩個__autoload就沖突了。解決的辦法就是修改__autoload成為一個,這無疑是非常繁瑣的。 因此我們急需使用一個autoload調用堆棧,這樣spl的autoload系列函數就出現了。你可以使用spl_autoload_register注冊多個自定義的autoload函數 如果你的PHP版本大于5.1的話,你就可以使用spl_autoload
- 1 回答
- 0 關注
- 742 瀏覽
添加回答
舉報
0/150
提交
取消
