我想在PHP中实现类似于ac#delegate方法的东西.快速解释我正在尝试做的事情:我正在尝试实现一些异步功能.基本上,一些资源密集型调用在底层系统到达时会被排队,缓存和调度.当异步调用最终收到响应时,我希望引发一个回调事件.
我遇到了一些问题,想出一种在PHP中进行回调的机制.我想出了一种现在适用的方法,但我对它不满意.基本上,它涉及传递对象的引用和方法的名称,它将作为回调(将响应作为参数),然后在需要时使用eval调用方法.由于各种原因,这是次优的,有没有人知道更好的方法呢?
(除了观察者模式)你也可以使用call_user_func()
或call_user_func_array()
.
如果你传递一个array(obj, methodname)
第一个参数,它将被调用为$obj->methodname()
.