Laravel 4 - 找出被击中的路线

时间:2014-11-17 20:56:40

标签: php laravel laravel-4 laravel-routing

我有一点问题,我不知道我是否在Laravel 4文档中找不到它或者它甚至不存在......

我有两条路由路由到一个相同的控制器功能......

//List blog_posts
Route::get('/', 'BlogController@listPosts');
//List deleted blog_posts
Route::get('/bin', 'BlogController@listPosts');

现在,有没有办法在'listPosts'函数中确定命中了哪条路线?

当然我可以在'BlogController'中创建另一个函数,但我不喜欢这个想法^^

2 个答案:

答案 0 :(得分:4)

您可以尝试使用Route::current()。它将返回Illuminate\Routing\Route类型的对象,该对象上有一个名为getUri的方法:

var_dump(Route::current()->getUri());

如果你gave your routes a name,你也可以根据这个做出决定:

var_dump(Route::currentRouteName());

答案 1 :(得分:1)

您还可以使用命名路线:

Route::get('/', ['as' => 'listIndex', 'uses' => 'BlogController@listPosts']);
Route::get('/bin', ['as' => 'listBin', 'uses' => 'BlogController@listPosts']);

这将设置Route::currentRouteName(),如果/其他就可以。