将中间件之前的内容传递给Silex中的路由器

时间:2015-11-04 12:19:38

标签: silex

我想在->before()中间件中执行检查,并将结果传递到路由

这可能吗?文档似乎没有提及任何内容。

$app->post( '/push/{id}', function( $id, Request $request ) {
    // access $foobar here
})
->assert( 'id', '[a-f\d]{24}' )
->before(function( Request $request ){
    // do something
    $foobar = 1;
});

1 个答案:

答案 0 :(得分:3)

传递全局$ app变量中的数据

$app['data'] = [];
$app->post( '/push/{id}', function( $id, Request $request ) use ( $app ) {
    // $app['data']['foobar'] = 1;
})
->assert( 'id', '[a-f\d]{24}' )
->before(function( Request $request ) use ( $app ){
    $app['data']['foobar'] = 1;
});