国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

[pandaman] 簡單一步,即可實現(xiàn)對任意方法的無侵入增強

wasoncheung

繼今天發(fā)布通過固定注解來包裝的切面后,發(fā)現(xiàn)在實際業(yè)務(wù)中局限性還是很大,于是又繼續(xù)完善了下。采用接口的形式進(jìn)行定義處理。而不是固定的通過包裝的形式。 你可以把這個想成“針對某個方法的”中間件調(diào)用鏈

實現(xiàn)接口

<?php

declare(strict_types=1);

namespace app\admin\attribute;

use panda\container\Contract\AopHandlerInterface;
use ReflectionFunction;
use ReflectionMethod;

#[\Attribute(\Attribute::TARGET_METHOD)]
class PermissionCheck implements AopHandlerInterface
{
    public function beforeEntering(ReflectionMethod|ReflectionFunction $reflect, array $serviceVariables): mixed
    {
       dump('前置處理');
       return null;
    }

    public function afterComingOut(ReflectionMethod|ReflectionFunction $reflect, mixed $serviceResult): void
    {
        dump('后置處理');
    }
}

調(diào)用

class Test
{
    #[RequestMapping('/demo')]
    // 進(jìn)入控制器前 進(jìn)行權(quán)限認(rèn)證
    // 控制器執(zhí)行完畢后 日志記錄 等等 實現(xiàn)業(yè)務(wù)的無侵入增強
    #[PermissionCheck]
    public function index(Cache $cache): string
    {
       dump('hello world');
        return 'hello world';
    }
}
938 0 0
0個評論

年代過于久遠(yuǎn),無法發(fā)表評論

wasoncheung

1070
積分
0
獲贊數(shù)
0
粉絲數(shù)
2022-11-15 加入
??