Symfony Routing:仅允许定义的参数

时间:2014-10-25 14:08:09

标签: symfony routing silex

$controllers->get('/thumb/add/{thumb}/{object}/{objectId}', 'globe.controller:addThumbAction')
            ->bind('thumb.add')
            ->before(function(Request $request) use ($app) {
                if ( !$app['user'] ) {
                    throw new AccessDeniedException('You cannot add a thumb without login');
                }
            });

我将Silex与contoller collection一起使用。对于此路线,thumb只能为0或1. objectint且必须介于1 and 3之间。应该测试objectId的int值。

我知道,如果->assert('id', '\d+')我可以使用int进行测试。

有人可以帮助我,如何测试thumbobject是否有解释标准?

1 个答案:

答案 0 :(得分:2)

断言是正则表达式,所以(我认为)你可以使用以下内容。

->assert('thumb', '[01]')    // Either 0 or 1
->assert('id', '[1-3]')      // 1, 2 or 3
->assert('objectId', '\d+')   // One or more digits