这次我们来了解下 Hyperf
的路由。主要包括以下内容
- 如何定义路由
- 路由的寻址规则
路由定义
路由主要有两种方式来定义
- 配置文件定义路由
- 通过注解来定义路由
配置文件定义
在 config/routes.php
文件中定义所有路由
主要有以下几种方式
<?php
use Hyperf\HttpServer\Router\Router;
//传入闭包
Router::get('/hello-hyperf', function () {
return 'Hello Hyperf.';
});
// 下面三种方式的任意一种都可以达到同样的效果
Router::get('/hello-hyperf', 'App\Controller\IndexController::hello');
Router::get('/hello-hyperf', 'App\Controller\IndexController@hello');
Router::get('/hello-hyperf', [App\Controller\IndexController::class, 'hello']);
同时 Hyperf
也提供了一些常用的路由
use Hyperf\HttpServer\Router\Router;
// 注册与方法名一致的 HTTP METHOD 的路由
Router::get($uri, $callback);
Router::post($uri, $callback);
Router::put($uri, $callback);
Router::patch($uri, $callback);
Router::delete($uri, $callback);
Router::head($uri, $callback);
// 注册任意 HTTP METHOD 的路由
Router::addRoute($httpMethod, $uri, $callback);
通过注解来定义路由
注解来定义路由主要有以下两种方式
@AutoController
注解