PHP 使用事件驱动的优缺点是什么? 看其他文章只是看到了解耦. 但是.我使用了事件驱动,和直接调用方法.都类似.没看出区别..求各位大腿给个建议
比如说.这个例子.用户创建后直接登录,我直接调用登录的方法不更快性能更好嘛?
闭关修行中......
我讲讲我理解的事件驱动,不一定对,重在分享,哈哈。事件驱动,肯定有这三样东西,事件接收器、事件分发器、事件处理器。事件接收器主要接收请求,事件分发器根据接收到的参数分发给事件处理器,事件处理器主要处理功能。集中接收请求,这好处多了去了是吧,应用也多了去。比如现在的PHP框架很多都是单入口,想想不就是事件驱动的原型吗,我可以在入口做很多事情对吧,比如做安全检查、特殊字符过滤、记录日志、访问统计、拦截等等,把相同的功能抽一抽,然后分层的概念就出来了,比如把安全检查的抽成验证层,不合符规则的请求就可以直接在这里做处理了返回去。其他好处可以自己想想。缺点嘛,想想所有请求都集中到这里,访问量一大的话,很多性能的问题就要优化。
题主的代码里不是注册后登录,是注册后打日志。
事件驱动主要是不同模块间的解耦,同一个模块里直接调用就可以了。
我讲讲我理解的事件驱动,不一定对,重在分享,哈哈。事件驱动,肯定有这三样东西,事件接收器、事件分发器、事件处理器。事件接收器主要接收请求,事件分发器根据接收到的参数分发给事件处理器,事件处理器主要处理功能。集中接收请求,这好处多了去了是吧,应用也多了去。比如现在的PHP框架很多都是单入口,想想不就是事件驱动的原型吗,我可以在入口做很多事情对吧,比如做安全检查、特殊字符过滤、记录日志、访问统计、拦截等等,把相同的功能抽一抽,然后分层的概念就出来了,比如把安全检查的抽成验证层,不合符规则的请求就可以直接在这里做处理了返回去。其他好处可以自己想想。缺点嘛,想想所有请求都集中到这里,访问量一大的话,很多性能的问题就要优化。
题主的代码里不是注册后登录,是注册后打日志。
事件驱动主要是不同模块间的解耦,同一个模块里直接调用就可以了。