2020-03-25 18:35:16 +08:00
|
|
|
<?php
|
|
|
|
|
|
2022-03-15 18:05:33 +08:00
|
|
|
declare(strict_types=1);
|
2020-03-25 18:35:16 +08:00
|
|
|
|
2022-08-01 16:31:54 +08:00
|
|
|
namespace ZM\Annotation\Middleware;
|
2020-03-25 18:35:16 +08:00
|
|
|
|
2022-03-20 01:53:36 +08:00
|
|
|
use Doctrine\Common\Annotations\Annotation\NamedArgumentConstructor;
|
2020-03-25 18:35:16 +08:00
|
|
|
use Doctrine\Common\Annotations\Annotation\Required;
|
|
|
|
|
use Doctrine\Common\Annotations\Annotation\Target;
|
|
|
|
|
use ZM\Annotation\AnnotationBase;
|
2020-08-31 10:11:06 +08:00
|
|
|
use ZM\Annotation\Interfaces\ErgodicAnnotation;
|
2020-03-25 18:35:16 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Class Middleware
|
|
|
|
|
* @Annotation
|
2022-03-20 01:53:36 +08:00
|
|
|
* @NamedArgumentConstructor()
|
2020-04-26 15:56:06 +08:00
|
|
|
* @Target("ALL")
|
2020-03-25 18:35:16 +08:00
|
|
|
*/
|
2022-11-03 10:18:17 +08:00
|
|
|
#[\Attribute(\Attribute::IS_REPEATABLE | \Attribute::TARGET_ALL)]
|
2020-08-31 10:11:06 +08:00
|
|
|
class Middleware extends AnnotationBase implements ErgodicAnnotation
|
2020-03-25 18:35:16 +08:00
|
|
|
{
|
|
|
|
|
/**
|
2023-03-05 11:44:36 +08:00
|
|
|
* @param string[] $args
|
2024-10-02 20:31:16 +08:00
|
|
|
* @param mixed $name
|
2020-03-25 18:35:16 +08:00
|
|
|
*/
|
2022-12-19 20:22:47 +08:00
|
|
|
public function __construct(
|
|
|
|
|
/**
|
|
|
|
|
* @Required()
|
|
|
|
|
*/
|
|
|
|
|
public $name,
|
2023-03-05 11:44:36 +08:00
|
|
|
public array $args = []
|
2024-10-02 20:31:16 +08:00
|
|
|
) {}
|
2020-04-26 15:56:06 +08:00
|
|
|
}
|