[PHP] 多条spl_autoload_register的执行顺序

函数的定义如下:

spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] ) : bool

官方的解释是:

如果需要多条 autoload 函数,spl_autoload_register() 满足了此类需求。 它实际上创建了 autoload 函数的队列,按定义时的顺序逐个执行。相比之下, __autoload() 只可以定义一次。
prepend
如果是 true,spl_autoload_register() 会添加函数到队列之首,而不是队列尾部。

也就是说当定义多条的时候 

如果第三个参数是false , 那么执行顺序就是定义时的顺序

第三个参数是true , 执行的顺序就是定义的倒序执行

        spl_autoload_register(function ($class_name) {
            echo 111;
        },false,true);
        spl_autoload_register(function ($class_name) {
            echo 222;
        },false,true);

先输出222 后输出111

 

默认情况下是:

        spl_autoload_register(function ($class_name) {
            echo 111;
        });
        spl_autoload_register(function ($class_name) {
            echo 222;
        });

先输出111 后输出222

 

posted @   唯一客服系统开发笔记  阅读(261)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2019-12-23 [Go] 使用读写锁对map资源进行安全处理
2019-12-23 [Linux] 使用awk比较两个文件的内容
点击右上角即可分享
微信分享提示
1
chat with us