zhamao-framework/src/ZM/Annotation/Http/RequestMapping.php

52 lines
1.1 KiB
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 Attribute;
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)]
2020-03-02 16:14:20 +08:00
class RequestMapping extends AnnotationBase
{
/**
* @var string
* @Required()
*/
public $route = '';
/**
* @var string
*/
public $name = '';
/**
* @var array
*/
public $request_method = [RequestMethod::GET, RequestMethod::POST];
/**
* Routing path params binding. eg. {"id"="\d+"}
* @var array
*/
public $params = [];
public function __construct($route, $name = '', $request_method = [RequestMethod::GET, RequestMethod::POST], $params = [])
{
$this->route = $route;
$this->name = $name;
$this->request_method = $request_method;
$this->params = $params;
}
2020-08-31 10:11:06 +08:00
}