内容简介:支持属性AOP模式之前,Xaop仅支持方法的切入(文档注释注解模式 与 方法注入两种模式的 AOP),现在已经支持属性的AOP啦,下面来一个demo示例:属性切入AOP模式下,回调函数支持匿名函数与数组模式的回调函数也就是如下两种模式都支持:回调函数包含有两个参数:
支持属性AOP模式之前,Xaop仅支持方法的切入(文档注释注解模式 与 方法注入两种模式的 AOP),现在已经支持属性的AOP啦,下面来一个demo示例:
class Swing { public $di; } Xaop::addPropertyBeforeReadAop(Swing::class, "di", function($object, $prop){ var_dump($object, $prop); echo 'hello'; }); Xaop::addPropertyAfterReadAop(Swing::class, "di", function(){ echo 'afterRead'; }); $swing = new Swing(); $swing->di;
属性切入AOP模式下,回调函数支持匿名函数与数组模式的回调函数也就是如下两种模式都支持:
Xaop::addPropertyBeforeReadAop(Swing::class, "di", function($object, $prop){ var_dump($object, $prop); echo 'hello'; }); Xaop::addPropertyBeforeReadAop(Swing::class, "di", [ Swing::class, "_before" ]);
回调函数包含有两个参数: $object , $propertyName 分别表示 属性所属的类的对象 与 属性方法名称。
在属性AOP模式下,没有实现环绕模式的原因在于考虑到可以使用魔术方法 "__get" 与 "__set" 来实现,因此业务上可以避免两次问题。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- PHP AOP 扩展 Xaop 现在支持属性 AOP 模式啦
- [ PHP 内核与扩展开发系列] 类与面向对象:访问对象实例的属性和方法
- CSS 属性篇(七):Display属性
- JavaScript对象之数据属性与访问器属性
- Logback file属性 与 fileNamePattern属性的关系
- 浅谈Spring Boot 属性配置和自定义属性配置
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript设计模式
Ross Harmes、Dustin Diaz / 谢廷晟 / 人民邮电出版社 / 2008 / 45.00元
本书共有两部分。第一部分给出了实现具体设计模式所需要的面向对象特性的基础知识,主要包括接口、封装和信息隐藏、继承、单体模式等内容。第二部分则专注于各种具体的设计模式及其在JavaScript语言中的应用,主要介绍了工厂模式、桥接模式、组合模式、门面模式等几种常见的模式。为了让每一章中的示例都尽可能地贴近实际应用,书中同时列举了一些JavaScript 程序员最常见的任务,然后运用设计模式使其解决方......一起来看看 《JavaScript设计模式》 这本书的介绍吧!