0

这是一个路由示例,取自此页面

$route = new Zend_Controller_Router_Route_Regex(
    'blog/archive/(\d+)-(.+)\.html',
    array(
        'controller' => 'blog',
        'action'     => 'view'
    ),
    array(
        1 => 'id',
        2 => 'description'
    ),
    'blog/archive/%d-%s.html'
);
$router->addRoute('blogArchive', $route);

我可以看到它匹配遵循 pattern 的路径'blog/archive/(\d+)-(.+)\.html',重定向到blog控制器和view操作,并传递idanddescription参数。但是,第四个论点的目的是什么?'blog/archive/%d-%s.html'?

4

1 回答 1

0

我发布了这个问题,几秒钟后在页面上找到了答案;真是一个惊喜。

由于正则表达式模式不容易反转,因此如果您希望使用 URL 帮助程序甚至此类的 assemble 方法,则需要准备一个反向 URL。此反向路径由 sprintf() 可解析的字符串表示,并被定义为第四个构造参数。

于 2011-04-09T18:11:00.920 回答