2014-10-31 117 views
1

我想在之后的某个模式下应用一个过滤器。我可以Laravel4如何使用Route :: when()过滤*后?

Route::when('user/*', 'some-filter', array('get')); 

但这将发生在请求处理之前。我需要后应用它,就像我能够做的,例如与

Route::group(array('before' => 'acl', 'after' => 'some-filter'), function() {}) 

是否有任何路线::()时,额外的参数,以获得呢?

回答

0

您可以在filters.php中的App :: after()函数中编写过滤器,而不是使用Route :: when()。

App::after(function($request, $response){ 
    // route filter here 
}); 

要回答你的问题,我不认为有其他参数可以通过。第二个参数预计是一个字符串,因此您将无法将数组('='>'some-filter')'

0

如果您想在每条路线(请求)之后应用过滤器,您可以使用Application events

App::after(function($request, $response) 
{ 
    // Do stuff 
}); 
+0

对不起,我的需求不是每条路线。请参阅编辑 – brazorf 2014-10-31 16:13:19

+0

那么为什么不在你的例子中将你的/用户路由包含在Route :: group内呢? – codeaken 2014-10-31 16:21:42

+0

嗯,我可以,但我实际上并不需要分组任何路线,我只需要我的过滤器在处理后适用于用户/ *。这可能是一个有效的解决方法 – brazorf 2014-10-31 16:28:18