You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FatFreeFramework中如何为带固定后缀的路由配置独立控制器?

FatFreeFramework 区分带固定后缀的路由方案

可以实现,你之前的写法无效是因为用了FatFree不支持的路由语法,正确配置需要注意路由顺序和变量定义规则:

正确路由配置

把带固定XYZ后缀的路由放在前面(FatFree按从上到下顺序匹配,先匹配精准规则),并使用正确的变量定义方式:

方式1:正则捕获命名变量

[routes]
GET /category/@item<.*>XYZ.html = \Controllers\Category\ItemXYZ->show
GET /category/@item.html = \Controllers\Category\Item->show
  • 第一个路由中,@item<.*>表示匹配任意字符作为item变量值,后面紧跟固定的XYZ.html,会精准匹配/category/item1XYZ.html这类请求。
  • 在ItemXYZ控制器里,可通过$f3->get('PARAMS.item')获取到item1这类变量值。

方式2:简化正则捕获

如果不需要命名变量,也可以用更简洁的正则写法:

[routes]
GET /category/(.*)XYZ.html = \Controllers\Category\ItemXYZ->show
GET /category/@item.html = \Controllers\Category\Item->show
  • 这种写法会把item1这类部分捕获到PARAMS.0中,控制器里用$f3->get('PARAMS.0')获取值。

为什么你的原配置无效?

你之前写的{{@item}}XYZ.html不是FatFree支持的路由语法,框架会把整个{{@item}}XYZ.html当作固定字符串匹配,自然无法匹配到/category/item1XYZ.html这类请求。

内容的提问来源于stack exchange,提问作者Pavel K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 00:10:04