PHP中的钩子是什么?
钩子是一种事件驱动的消息处理机制。
一个事件,可以看作一段完成某个目的的程序。比如查询一次数据库,或者访问某个网址等等。
事件驱动分为两个阶段,第一个阶段是注册事件,目的是给未来可能发生的“事件”起一个名字,简单的实现方法是用单例模式产生一个持久的对象或者注册一个全局变量,然后将事件名称,以及该事件对应的类与方法插入全局变量即可。也就是挂载一个钩子
第二个阶段是触发事件,本质上就是在事件的全局变量中查询要触发的事件名称,然后找到注册好的类与方法,实例化并运行。这样子就可以摆脱传统方式中程序必须按顺序的规则,进一步实现解除耦合的目的。
http://baijunyao.com/article/85
php中钩子(hook)的应用示例demo(讲的很形象)
钩子是一种事件驱动的消息处理机制。
一个事件,可以看作一段完成某个目的的程序。比如查询一次数据库,或者访问某个网址等等。
事件驱动分为两个阶段,第一个阶段是注册事件,目的是给未来可能发生的“事件”起一个名字,简单的实现方法是用单例模式产生一个持久的对象或者注册一个全局变量,然后将事件名称,以及该事件对应的类与方法插入全局变量即可。也就是挂载一个钩子
第二个阶段是触发事件,本质上就是在事件的全局变量中查询要触发的事件名称,然后找到注册好的类与方法,实例化并运行。这样子就可以摆脱传统方式中程序必须按顺序的规则,进一步实现解除耦合的目的。
http://baijunyao.com/article/85
php中钩子(hook)的应用示例demo(讲的很形象)