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

php中spl_autoload_register跟__autoload这两个方法调用场景的区别

php中spl_autoload_register跟__autoload这两个方法调用场景的区别

鸿蒙传说 2019-04-08 11:17:19
今天被面试问到这两个方法的区别,两个方法使用场景。我只答出了两个都是针对类加载不到的时候调用的,可以指定默认类路径从而拼装出类文件进行加载,以及前者比后者效率要高。请大家帮我具体解释一下。
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

一句话,spl_autoload更有弹性,可以设置多个自动加载规则(可以指定先后顺序),而__autoload太死板,只能有一个加载规则.
所以__autoload不适合多个类库合作.
                            
查看完整回答
反对 回复 2019-04-08
?
12345678_0001

TA贡献1802条经验 获得超5个赞

__autoload已经不被推荐使用了,推荐使用spl_autoload_register来注册加载器。
spl_autoload_register相关的有一组函数可以更灵活地控制自动加载的具体行为。
__autoload只能存在一个,如果项目中使用的两个库都有__autoload就会出现冲突而无法运行,spl_autoload_register则没有这个问题,多次使用spl_autoload_register,它会按顺序逐个调用加载器。
如果已经使用了spl_autoload_register,那么__autoload会被忽略,除非你手动重新注册它。
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 357 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号