定义一个切面
<?php
declare(strict_types=1);
namespace App\Controller\v1\User;
use Hyperf\Di\Aop\AbstractAspect;
use Hyperf\Di\Annotation\Aspect;
use Hyperf\Di\Aop\ProceedingJoinPoint;
/**
* @Aspect
*/
class DomeAspect extends AbstractAspect
{
// 要切入的类,可以多个,亦可通过 :: 标识到具体的某个方法,通过 * 可以模糊匹配
public $classes = [
// Dome1::class,
// 'App\Controller\v1\User\Dome1::holle',
// Dome1::class . '::' . 'holle',
'App\Controller\v1\User\Dome1::*holle',
];
public function process(ProceedingJoinPoint $proceedingJoinPoint)
{
echo "执行前 2".PHP_EOL;
$result = $proceedingJoinPoint->process();
echo "执行后 3".PHP_EOL;
// 在调用后进行某些处理
return $result;
}
}
在App\Controller\v1\User下创建dome1控制器holle方法
public function holle(){
echo "holle Hyoerf".PHP_EOL;
}
结果