hyperf 路由 - 胡勇健 - D1h.Net第一号博客
返回主页

胡勇健

hyperf 路由

路由配置文件 config/routes.php

<?php use Hyperf\HttpServer\Router\Router; // 下面三种方式的任意一种都可以达到同样的效果 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']);

路由方法

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);

路由组

Router::addGroup('/user/',function (){ Router::get('index','App\Controller\UserController@index'); Router::post('store','App\Controller\UserController@store'); Router::get('update','App\Controller\UserController@update'); Router::post('delete','App\Controller\UserController@delete'); });

实例

控制器 app/Controller/UserController.php

<?php declare(strict_types=1); namespace App\Controller; use Hyperf\HttpServer\Contract\RequestInterface; class UserController { public function index(RequestInterface $request) { $id = $request->input('id',1); return ['msg'=>'route test','id'=>$id]; } }

路由配置文件 config/routes.php

<?php declare(strict_types=1); use Hyperf\HttpServer\Router\Router; Router::get('/user', 'App\Controller\UserController::index');

测试

curl 118.195.173.53:9501/user?id=2

结果显示

{"msg":"route test","id":"2"}

案例2 注解方式

<?php declare(strict_types=1); namespace App\Controller; use Hyperf\HttpServer\Contract\RequestInterface; use Hyperf\HttpServer\Annotation\AutoController; /** * @AutoController() */ class UserController { public function index(RequestInterface $request) { $id = $request->input('id',1); return ['msg'=>'route test','id'=>$id]; } }
curl 118.195.173.53:9501/user/index?id=3

结果显示

{"msg":"route test","id":"3"}
posted @ 2021-09-15 18:47  胡勇健  阅读(21)  评论(0编辑  收藏  举报
Copyright © 2021 胡勇健
Powered by .NET 6 on Kubernetes

问答 28u iTmz.Net 3q科技 A8团队1 A8团队2 A8团队3 A8备