hyperf 3.0路由配置核心在config/routes.php,支持router::get()等函数式定义;若用注解路由,需启用annotations扫描、添加#[controller]和#[getmapping]注解,并执行di:init-proxy生成缓存。

核心配置文件位置
所有基础路由定义统一写在:config/routes.php
这是 Hyperf 启动时自动加载的唯一路由入口文件。只要项目初始化完成(php bin/hyperf.php start),这个文件里的 Router::get()、Router::post() 等调用就会生效。
最简可用示例
打开 config/routes.php,写入:
use Hyperf\HttpServer\Router\Router;
Router::get('/', 'App\Controller\IndexController::index');
Router::post('/login', [App\Controller\AuthController::class, 'login']);
注意写法兼容三种风格:类::方法、[类, 方法]、类@方法(推荐前两种)。
注解路由启用步骤
若想用 #[GetMapping] 这类写法,需三步到位:
- 确认
config/autoload/annotations.php中'scan' => true,且'paths'包含你的控制器目录(如BASE_PATH . '/app/Controller') - 控制器类顶部加
#[Controller],方法上加#[GetMapping('/user')] - 执行
php bin/hyperf.php di:init-proxy生成注解缓存(首次或改路径后必做)
验证是否生效
终端运行命令查看当前注册的所有路由:
php bin/hyperf.php route:list
输出表格中能看到 method、uri、handler,说明配置已加载成功。404 或空列表,大概率是文件路径错、注解没扫描、或没执行 di:init-proxy。











