为了账号安全,请及时绑定邮箱和手机立即绑定

关于php的spl_autoload_register作用域的问题?

关于php的spl_autoload_register作用域的问题?

PHP
心有法竹 2018-07-20 13:12:38
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

查看完整回答
反对 回复 2018-07-28
  • 1 回答
  • 0 关注
  • 711 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信