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(); ~~~