通过配置文件

  • 添加多个情请求方式

    1. <?php
    2. Router::addRoute(['GET','POST'], '/', 'App\Controller\IndexController@index');
  • 单个请求方式

    1. <?php
    2. Router::get( '/', 'App\Controller\IndexController@index');
    3. Router::post( '/', 'App\Controller\IndexController@index');

    通过路由注解

  • 自动通过 URL/类/方法 方式找到控制器 , 类似于 tp

    class 上面写上 @AutoController() 即可 通过配置 prefix 参数来实习前缀的重写 @AutoController(prefix=”user”)

  1. <?php
  2. /**
  3. * Class IndexController
  4. *
  5. * @AutoController()
  6. * @package App\Controller
  7. */
  8. class IndexController extends AbstractController
  9. {
  10. public function index()
  11. {
  12. $user = $this->request->input('user', 'Hyperf');
  13. $method = $this->request->getMethod();
  14. return [
  15. 'method' => $method,
  16. 'message' => "Hello {$user}.",
  17. ];
  18. }
  19. }
  • 自定义路由

    通过 @Controller(prefix=”rar”) 可以定义前缀 然后在方法中使用 @RequestMapping(path=”index”,methods={“post”,”get”}) 可以定义请求方式和方法的请求地址 , 此时方法地址为 url/rar/index 可以在前面加上 / 不受到任何限制 @RequestMapping(path=”/title”,methods={“post”,”get”}) 此时访问地址为url/title

    可以直接指定请求方式,省去 methods @PostMapping(path=”index”)

  1. <?php
  2. /**
  3. * Class IndexController
  4. *
  5. * @Controller(prefix="rar")
  6. * @package App\Controller
  7. */
  8. class IndexController extends AbstractController
  9. {
  10. /**
  11. *
  12. * @RequestMapping(path="index",methods={"post","get"})
  13. * @return array
  14. */
  15. public function index()
  16. {
  17. $user = $this->request->input('user', 'Hyperf');
  18. $method = $this->request->getMethod();
  19. return [
  20. 'method' => $method,
  21. 'message' => "Hello {$user}.",
  22. ];
  23. }
  24. }