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

如何在Silex中为路由的slug断言配置多个预定义值?

为Silex路由的slug断言配置多个预定义值

嘿,这个需求其实很容易实现,Silex的assert()方法支持传入正则表达式,我们只要把多个预定义的slug用正则的选择符|拼接起来就行!

具体实现代码

把你原来的断言部分改成这样:

$app->get('/{slug}', function ($slug) use ($app) { 
    // 你的处理逻辑
})->bind('page')->assert('slug', 'about-us|contact|services');

原理说明

  • 正则里的|表示“或”的意思,所以这个规则会匹配about-us、contact或者services这三个值中的任意一个
  • 如果之后需要新增更多预定义slug,直接在|后面追加新值就可以,比如about-us|contact|services|faq
  • 这样配置后,只有匹配这些指定slug的请求才会进入这个路由处理函数,其他不符合的请求会自动返回404,刚好满足你要限制预定义slug的需求

内容的提问来源于stack exchange,提问作者Louis B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:49:41