39 lines
967 B
PHP
Raw Normal View History

2020-03-02 16:14:20 +08:00
<?php
declare(strict_types=1);
2020-03-02 16:14:20 +08:00
namespace ZM\Annotation\Http;
use Doctrine\Common\Annotations\Annotation\NamedArgumentConstructor;
2020-03-02 16:14:20 +08:00
use Doctrine\Common\Annotations\Annotation\Required;
use Doctrine\Common\Annotations\Annotation\Target;
use ZM\Annotation\AnnotationBase;
/**
* Class RequestMapping
* @Annotation
* @NamedArgumentConstructor()
2020-08-31 10:11:06 +08:00
* @Target("METHOD")
2020-03-02 16:14:20 +08:00
*/
#[\Attribute(\Attribute::IS_REPEATABLE | \Attribute::TARGET_METHOD)]
class Route extends AnnotationBase
2020-03-02 16:14:20 +08:00
{
public function __construct(
/**
* @Required()
*/
public $route,
public $name = '',
public $request_method = ['GET', 'POST'],
/**
* Routing path params binding. eg. {"id"="\d+"}
*/
public $params = []
2024-10-02 20:31:16 +08:00
) {}
2022-08-13 17:00:29 +08:00
public static function make($route, $name = '', $request_method = ['GET', 'POST'], $params = []): static
2022-08-13 17:00:29 +08:00
{
return new static($route, $name, $request_method, $params);
}
2020-08-31 10:11:06 +08:00
}