新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
php中什么是行为和事件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
创新互联建站服务项目包括莱山网站建设、莱山网站制作、莱山网页制作以及莱山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,莱山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到莱山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
行为
可以把行为想象成在应用执行过程中的一个动 作。例如,在框架的执行流程中,路由检测、静态缓存、用户权限检测是一个行为,大到业务逻辑,小到浏览器检测、多语言检测等都可以当做是一个行为。 把这些行为抽离出来的目的则是为了无需修改框架和应用,而在外围通过扩展或者配置来改变或者添加一些功能
这里先重新描述一下为什么要使用行为。
有两种办法可以对类添加特性:
1、直接修改这个类的代码,添加一些成员函数和成员变量;
2、派生,通过子类来扩展。
很明显第二种方法更加易维护、易扩展。但是如果需要对一个类添加多个特性(多人在不同时期),那么需要进行多级派生,这显然加大了维护成本。
在 Yii 里面,通过行为类绑定,组件将一个或多个 CBehavior 类的成员方法和成员变量添加到自己身上,并且在不需要的时候载掉某些 CBehavior 类。
同时,可以通过重写 CBehavior::events 的方法,来实现对目标类的多个事件绑定。这些事件将会在当前行为绑定到目标类的时候,一起被绑定上。
事件
事件相比较中间件的优势是事件比中间件更加精准定位(或者说粒度更细),并且更适合一些业务场景的扩展。例如,我们通常会遇到用户注册或者登录后需要做一系列操作,通过事件系统可以做到不侵入原有代码完成登录的操作扩展,降低系统的耦合性的同时,也降低了BUG的可能性。
为了使用事件模型,需要实现这三个步骤:1、定义事件;2、注册事件句柄;3、触发事件。
为什么要做这三个步骤呢?因为对于 PHP 本身,它的执行过程不是以进程化来运行的,
关于php中什么是行为和事件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。