支持属性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" 来实现,因此业务上可以避免两次问题。
引用来自“我吃地瓜”的评论
为什么我安装成功,扩展却没有显示,我使用的是cli方式引用来自“左华栋”的评论
赞一个吧,东西是好东西,只可惜很多人用不上。社区还是更加喜欢成品框架,可以方便做外包
引用来自“开源中国首席C菜鸟”的评论
这只是一个扩展,丰富功能使用的引用来自“左华栋”的评论
嗯,所以很少有人用了。。。类似的东西,golang社区接受程度远远高于php社区引用来自“开源中国首席C菜鸟”的评论
现在都转go了吗?很多phper 都太浮躁,AOP 这种东西反而接受程度不高。
我们转的node.js ,typescript 支持注解,所以...
引用来自“左华栋”的评论
赞一个吧,东西是好东西,只可惜很多人用不上。社区还是更加喜欢成品框架,可以方便做外包
引用来自“开源中国首席C菜鸟”的评论
这只是一个扩展,丰富功能使用的引用来自“左华栋”的评论
嗯,所以很少有人用了。。。类似的东西,golang社区接受程度远远高于php社区引用来自“左华栋”的评论
赞一个吧,东西是好东西,只可惜很多人用不上。社区还是更加喜欢成品框架,可以方便做外包
引用来自“开源中国首席C菜鸟”的评论
这只是一个扩展,丰富功能使用的引用来自“ninja911”的评论
java风.....不太感冒引用来自“左华栋”的评论
赞一个吧,东西是好东西,只可惜很多人用不上。社区还是更加喜欢成品框架,可以方便做外包
社区还是更加喜欢成品框架,可以方便做外包