- AopBuild
- 一个神奇的功能
- call 直接回调
AopBuild
AopBuild::before()返回的是一个链式对象,after,around
| 方法 | 说明 |
|---|---|
| methods | 类中的匹配的方法 |
| methodsStart | 类中的开头匹配的方法 |
| methodsEnd | 类中的结尾匹配的方法 |
| methodsExcept | 类中的除了给定的的方法 |
| methodsContains | 类中的包含匹配的方法 |
| methodsAll | 类中的所有的方法 |
| methodsExcept | 类中的除了给定的的方法 |
| wave | 需要织入的类 |
| using | 需要织入的方法 |
一个神奇的功能
IUserService是接口UserServiceImpl 是实现类容器注册Ioc::bind(IUserService::class,UserImpl::class);//添加切面AopBuild::before(IUserService::class)->methods(["saveUser","delUser"])->wave(UserLogicTestAop::class)->using("testBefore")->addPoint();其实这时$service=Ioc::get(IUserService::class);$service 是集成自UserImpl的类
call 直接回调
通过 call 函数可以直接写回调,而不需要指定切面的类和方法
AopBuild::after(UserLogic::class)->methods("saveUser")->call(function (JoinPoint $point,$result){//直接将织入的逻辑写到这里trace("执行 call");return $result;})->addPoint();
上一篇:切面 下一篇:事件通知
