路由参数作为'text / box'传递给symfony2中的routes.yml中的需求传递

时间:2015-12-24 04:51:42

标签: php symfony

stockregister_report_itemcode:
    pattern:  /stockregister/{itemcode}/{category}/report/{subcategory}/{openingbalance}/{type}/{actunit}
    defaults: { _controller: "EduAssetBundle:StockRegister:stockregisterItemcodeReport" }
    requirements:
        itemcode: .+
        category: .+
        subcategory: .+
        openingbalance: .+
        type: .+
        actunit: .+

这里我将{actunit}作为'box / packet'传递,其分割值参数不起作用

2 个答案:

答案 0 :(得分:0)

所有参数都有模式.+,它是贪婪的。因此,第一个可能的参数捕获最大可能的url部分 将所有参数的模式更改为.+?或在模式中指定参数可以包含的确切内容(例如:[a-z0-9]+

答案 1 :(得分:0)

有两种可能性,它可能无效(任何甚至两种):

1)。你忘了指定HTTP动词(GET,POST,PUT,DELETE等)。

2)。由于/字符用于分隔路径元素,因此您应该在传递值时对该值进行编码。因此,请使用box%2Fpacket代替box/packet