2

我制作的路由模式如下:

$router->add('/album/view/{slug}-:int', array(
'controller' => 'album',
'action' => 'view',
'id' => 2,))->setName('album-view');

但它没有用,所以我将模式更改为:

$router->add('/album/view/{slug}/:int', array(
'controller' => 'album',
'action' => 'view',
'id' => 2,))->setName('album-view');

而且效果很好!

那么如何'/album/view/{slug}-:int'在 Phalcon 路由器中制作路由模式呢?感谢您的帮助!

4

1 回答 1

2

文档说

/:int /([0-9]+) 匹配一个整数参数

这意味着它实际上期望/:int,而不仅仅是:int。只需将命名参数与自定义正则表达式一起使用?

$router->add(
    '/album/view/{slug}-([0-9]+)',
    array(
        'controller' => 'album',
        'action'     => 'view',
        'id'         => 1, // ([0-9]+)
    )
);

我没有对此进行测试,但必须遵循这些原则。

于 2014-05-02T14:49:30.290 回答