今天被面试问到这两个方法的区别,两个方法使用场景。我只答出了两个都是针对类加载不到的时候调用的,可以指定默认类路径从而拼装出类文件进行加载,以及前者比后者效率要高。请大家帮我具体解释一下。
2 回答

莫回无
TA贡献1865条经验 获得超7个赞
一句话,spl_autoload更有弹性,可以设置多个自动加载规则(可以指定先后顺序),而__autoload太死板,只能有一个加载规则.所以__autoload不适合多个类库合作.

12345678_0001
TA贡献1802条经验 获得超5个赞
__autoload已经不被推荐使用了,推荐使用spl_autoload_register来注册加载器。spl_autoload_register相关的有一组函数可以更灵活地控制自动加载的具体行为。__autoload只能存在一个,如果项目中使用的两个库都有__autoload就会出现冲突而无法运行,spl_autoload_register则没有这个问题,多次使用spl_autoload_register,它会按顺序逐个调用加载器。如果已经使用了spl_autoload_register,那么__autoload会被忽略,除非你手动重新注册它。
添加回答
举报
0/150
提交
取消