PHP AOP 扩展 Xaop 现在支持属性 AOP 模式啦

栏目: 软件资讯 · 发布时间: 7年前

内容简介:支持属性AOP模式之前,Xaop仅支持方法的切入(文档注释注解模式 与 方法注入两种模式的 AOP),现在已经支持属性的AOP啦,下面来一个demo示例: class Swing {     public $di; } Xaop::addPropertyBef...

支持属性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" 来实现,因此业务上可以避免两次问题。


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入理解Java虚拟机(第2版)

深入理解Java虚拟机(第2版)

周志明 / 机械工业出版社 / 2013-9-1 / 79.00元

《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》内容简介:第1版两年内印刷近10次,4家网上书店的评论近4?000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的改进:根据最新的JDK 1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和最佳实践;增加了若干......一起来看看 《深入理解Java虚拟机(第2版)》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具