当前位置: 首页 > news >正文

1. 路由定义

1. 通过配置文件形式

配置方式与laravel的配置方式相似

<?php
use Hyperf\HttpServer\Router\Router;Router::get('/hello-hyperf', function () {return 'Hello Hyperf.';
});// 设置一个 GET 请求的路由,绑定访问地址 '/get' 到 App\Controller\IndexController 的 get 方法
Router::get('/get', 'App\Controller\IndexController::get');
Router::get('/get', 'App\Controller\IndexController@get');
Router::get('/get', [\App\Controller\IndexController::class, 'get']);// 设置一个 POST 请求的路由,绑定访问地址 '/post' 到 App\Controller\IndexController 的 post 方法
Router::post('/post', 'App\Controller\IndexController::post');
Router::post('/post', 'App\Controller\IndexController@post');
Router::post('/post', [\App\Controller\IndexController::class, 'post']);// 设置一个允许 GET、POST 和 HEAD 请求的路由,绑定访问地址 '/multi' 到 App\Controller\IndexController 的 multi 方法
Router::addRoute(['GET', 'POST', 'HEAD'], '/multi','App\Controller\IndexController::multi');
Router::addRoute(['GET', 'POST', 'HEAD'], '/multi', 'App\Controller\IndexController@multi');
Router::addRoute(['GET', 'POST', 'HEAD'], '/multi', [\App\Controller\IndexController::class, 'multi']);// 路由组的定义方式
Router::addGroup('/user/',function (){Router::get('index','App\Controller\UserController@index');Router::post('store','App\Controller\UserController@store');
});

2. 通过注解形式

2.1. AutoController

  • 自动根据类名和方法名创建对方的URL

    访问url: http://127.0.0.1:9501/index/index

    <?php
    namespace App\Controller;
    use Hyperf\HttpServer\Annotation\AutoController;#[AutoController]
    class IndexController extends AbstractController
    {public function index(){$user = $this->request->input('user', 'Hyperf');$method = $this->request->getMethod();return ['method' => $method,'message' => "Hello {$user}.",];}
    }
    

2.2. Controller

  • 为满足更细致的路由定义需求而存在

    访问url: http://127.0.0.1:9501/book/index

    <?php
    namespace App\Controller;
    use Hyperf\HttpServer\Annotation\Controller;
    use Hyperf\HttpServer\Annotation\RequestMapping;
    use Hyperf\HttpServer\Contract\RequestInterface;
    use Hyperf\HttpServer\Contract\ResponseInterface;#[Controller(prefix: "book")]
    class BookController extends AbstractController
    {#[RequestMapping(path: "index", methods: "get, post, put, patch, delete")]public function index(RequestInterface $request, ResponseInterface $response){$data = new \DateTime();return $response->raw('Hello Hyperf!');}
    }
    
http://www.lryc.cn/news/466017.html

相关文章:

  • 我们可以用微服务创建状态机吗?
  • 邦芒贴士:职场新人需远离的7种坏习惯
  • 面向医院的统一支付平台产品经验分享
  • http作业
  • AlDente Pro for Mac电脑 充电限制保护工具 安装教程【简单,轻松上手】
  • C语言数据结构之算法复杂度
  • HDU RSA
  • 数据仓库建设 : 主题域简介
  • 开源表单生成器OpnForm
  • Zookeeper面试整理-Zookeeper的基础概念
  • 验证archive_command配置是否正确
  • 2024.10.19小米笔试题解
  • SQL-SERVER导入excel表格
  • Vue学习笔记(三、v-cloak、v-text、v-html指令)
  • Java | Leetcode Java题解之第496题下一个更大元素I
  • 【ArcGIS微课1000例】0125:ArcGIS矢量化无法自动完成面解决方案
  • slam技术支持下的果园作物估产论文汇总
  • 政安晨【零基础玩转各类开源AI项目】基于本地Ubuntu (Linux ) 系统应用Gradio-Lite:无服务器 Gradio 完全在浏览器中运行
  • Spring 中的 @AUtowire 和 @Resource 用法和原理,以及避坑
  • 速盾:cdn能加速游戏吗?
  • 速盾:高防服务器防火墙的特性是什么?
  • 初识git · 远程操作
  • 深度学习:卷积神经网络(CNN)详解
  • 软件测试学习笔记丨Pycharm实用技巧
  • Vue学习笔记(二、Vue.js的引入与对象创建)
  • 从0-1搭建金融智能助理保姆级教程:拆箱即用的微信公众号后端+AI Agents智能体框架
  • Yolov10训练的餐盘菜品目标检测软件(包含源码及数据集)
  • Active Directory(活动目录)密码审核工具
  • Transformer为什么使用LayerNorm而不是BatchNorm?
  • 理解和重构目录结构:Java 中的父子关系管理