• 拦截器Interceptor
    • Interceptor :拦截器

    拦截器Interceptor

    Interceptor :拦截器

    可以配置多组拦截器对访问进行拦截,访问在真正到达控制器前会按顺序经过 Interceptor,可以做一些权限,用户身份识别等代码

    配置

    1. 'interceptors'=>[
    2. \cloud\CloudInterceptor::class,
    3. \cloud\mag\MagInterceptor::class,
    4. \cloud\security\SecurityInterceptor::class
    5. ],
    6. 'interceptors_except'=>['/log'] //需要排除的路径前缀

    拦截器需要实现Interceptor接口如

    1. class SecurityInterceptor implements Interceptor{
    2. /**
    3. * @var CloudApi
    4. */
    5. private $api;
    6. public function _initialize(CloudApi $api) {
    7. $this -> api = $api;
    8. }
    9. public function handler(Request $request, Response $response) {
    10. //注意: 如果拦截器 返回 true 说明拦截自己处理了请求,请求不会继续向下经过其他拦截器,更不会到达控制器,会直接返回
    11. //默认空返回就可以
    12. return false;
    13. }
    14. }

    上一篇:依赖注入   下一篇:路由