duanmin0941 2017-05-05 07:03
浏览 33
已采纳

根据一系列数字在Symfony2中定义路由要求

I'm playing around with a symfony tutorial and I was wondering if and how I can use different routing based on the amount of a given wildcard in the URL-path. Here is the code of my routing yaml:

app:
resource: '@AppBundle/Controller/'
type: annotation

luckynumberSmallNumbers:
    path:      /lucky/number/{max}
    defaults:  { _controller: AppBundle:Lucky:smallNumber, max: 10}
    requirements:
       max: \d+ #TODO: something to define numbers smaller  or equal to 10

luckynumberBigNumbers:
    path:      /lucky/number/{max}
    defaults:  { _controller: AppBundle:Lucky:bigNumber, max: 10}
    requirements:
        max: \d+ #TODO: something to define numbers greater than 10

So e.g. in my example the path would be /lucky/number/{max} If the number given in {max} is greater than 10, another method/controller should be called than if the number is below or equal to 10. How can I define this in the requirements for 10? I only found reqular expressions and I do not know how to bend those to my will :) Find my repo here: https://github.com/mattlang88/first_symfony_project

Thanks a bunch!

  • 写回答

2条回答 默认 最新

  • duannao8450 2017-05-05 07:11
    关注

    requirements are regular expressions (regex), so you can have a regular expression like ^([0-9]|10)$

    for the second one you can define a regex for numbers bigger than 10 like this: ^0*([1-9]\d{2,}|0*[1-9]\d)$

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵