3

我在任何地方都找不到它。所以我问:在 silex 上,我们为什么要使用 bind() 呢?例如,在这个静态页面的路由上:

$pages = array(
    '/'      => 'index',
    '/blog'  => 'blog',
    '/about' => 'about',
);

foreach($pages as $route => $view) {
    $api->get($route, function(Silex\Application $app) use($view) {
        return $app['twig']->render($view.'.html');
    })->bind($view);
}
4

2 回答 2

9

对于一个事件繁重的框架,这是一个糟糕的选择,但这基本上是命名路由。

提供者之类的东西如果有名字就可以访问路由。

相关文件:

于 2013-01-18T12:24:18.677 回答
0

silex 文档

一些提供者(例如UrlGeneratorProvider)可以使用命名路由。默认情况下,Silex 会为您生成一个无法真正使用的路由名称。您可以通过在路由方法返回的 Controller 对象上调用 bind 来为路由命名:

$app->get('/', function () {
    ...
})->bind('homepage');

$app->get('/blog/{id}', function ($id) {
    ...
})->bind('blog_post');

如果您使用使用RouteCollection.

于 2013-09-16T00:11:52.503 回答