小白网-奉贤部落-奉贤免费信息发布平台

查看: 59|回复: 0

route实现路由功用route设备路由

[复制链接]

2万

主题

0

回帖

8万

积分

论坛元老

Rank: 8Rank: 8

积分
88256
发表于 2025-7-26 12:52 | 显示全部楼层 |阅读模式
GitHub地址:https://github.com/nikic/FastRoute/tree/v1.3.0
nikic/fast-route包先容#此次推出的是1.3.0版本的composer包 composer需要Nikic/fast-route v1.3.0他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
写路由设置加载方式dispatch($httpMethod,$ uri);switch($ route info[0]){case dispatcher::not _ found://请求的方式/...404 not foundthrow new routenotfoundException("请求的方式不存在:{break;case dispatcher::method _ not _ allowed://毛病的请求范例$ allowed methods = $ route info[1];/...405方式不答应抛出新方式不答应异常(“请求范例毛病({$httpMethod}),当前方式答应请求范例({ $ allowed methods[0]})”);break;case Dispatcher::FOUND: //查找请求的方式:挪用方式$handler = $routeInfo[1]即可;$ vars = $ route info[2];call _ user _ func([new $ handler[0],$handler[1]],$ vars);break;}}私有静态函数make _ dispatcher($ route file list){return simple dispatcher(function(route collector $ router)use($ route file list){foreach($ route file list as $ route file){if(isset($ route file[' prefix ']){$ routerm routers = $ route file[0];$ router- gt;addGroup($routeFile['prefix'],function(route collector $ router)use($ routers){if($ routers){foreach($ routers as $ route item){$ router- gt;add route(strtoupper($ route item[0]),$routeItem[1],$ route item[2]);} unset($ route item);}});} else {if($ route file){foreach($ route file as $ route item){$ router- gt;add route(strtoupper($ route item[0]),$routeItem[1],$ route item[2]);} unset($ route item);}}} unset($ route file);});}}
触及异常类的编写
建立一个功用路由文件,(演示:route/web.php,route/api.php)
文件写入格式(可以自界说路由文件的make_dispatcher方式)
/',[['get ',' users ',[ App  Controller  test Controller::class,' index']],]];
测试控制器
路由拜候

是以,成功地引入了路由组件他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
注:假如想拓展更多利用方式,请拜候文章开首的github地址,检察更多利用方式他早就发现系统有个隐藏的缝隙私下花了好几个早晨优化了代码。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白网-奉贤部落-奉贤免费信息发布平台  

GMT+8, 2025-11-12 04:56 , Processed in 0.094006 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表