通过配置文件
添加多个情请求方式
<?php
Router::addRoute(['GET','POST'], '/', 'App\Controller\IndexController@index');
单个请求方式
<?php
Router::get( '/', 'App\Controller\IndexController@index');
Router::post( '/', 'App\Controller\IndexController@index');
通过路由注解
自动通过 URL/类/方法 方式找到控制器 , 类似于 tp
class 上面写上 @AutoController() 即可 通过配置 prefix 参数来实习前缀的重写 @AutoController(prefix=”user”)
<?php
/**
* Class IndexController
*
* @AutoController()
* @package App\Controller
*/
class IndexController extends AbstractController
{
public function index()
{
$user = $this->request->input('user', 'Hyperf');
$method = $this->request->getMethod();
return [
'method' => $method,
'message' => "Hello {$user}.",
];
}
}
- 自定义路由
通过 @Controller(prefix=”rar”) 可以定义前缀 然后在方法中使用 @RequestMapping(path=”index”,methods={“post”,”get”}) 可以定义请求方式和方法的请求地址 , 此时方法地址为
url/rar/index
可以在前面加上 / 不受到任何限制 @RequestMapping(path=”/title”,methods={“post”,”get”}) 此时访问地址为url/title
可以直接指定请求方式,省去 methods @PostMapping(path=”index”)
<?php
/**
* Class IndexController
*
* @Controller(prefix="rar")
* @package App\Controller
*/
class IndexController extends AbstractController
{
/**
*
* @RequestMapping(path="index",methods={"post","get"})
* @return array
*/
public function index()
{
$user = $this->request->input('user', 'Hyperf');
$method = $this->request->getMethod();
return [
'method' => $method,
'message' => "Hello {$user}.",
];
}
}