PHP有没有一种方法,使函数多次调用在执行结束之前再一次性处理?

例如我定义一个函数,在页面中可能会多次调用这个函数,调用的位置不定、调用次数不定;而这个函数可能会有读取数据库或其他比较耗资源的操作有没有方法让每次调用这个函数的时候不用即时返回结果和执行,而在在整个程序快要执行结束之前统一给所有的调用一次性统一处理?
以代码举例,大概意思就是
<%
functionget_info($param){
//这里可能是一些比较复杂操作,比如读取数据库等
//且期望这个函数只执行一次,并分别给调用的地方返回值
echo'-只调用了1次';
return$param;
}
echoget_info(1);//不即时处理
echo'A';
echoget_info(2);//不即时处理
echoget_info(3);//不即时处理
//把所有调用get_info在这里一次性全部处理并分别返回
//程序结束
%>
最终期望输出结果:1A23-只调用了1次
ITMISS
浏览 581回答 2
2回答

森栏

1、利用PHP数组作为简单的队列,把要操作的方法名和参数放到数组,在程序尾调用。2、使用一些第三方库实现的类似于JS的异步解决方案spatie/async3、使用队列咯

冉冉说

个人建议,使用队列做计划任务,也就是说,每次调用函数的时候入一次队列,然后整个程序快要执行结束的时候,触发这个任务,开始出队列调用.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript