Laravel 4 - Узнайте, какой маршрут был пройден
Ну, у меня есть небольшая проблема, и я не знаю, слеп ли я, чтобы найти ее в Документации Laravel 4, или она даже не существует...
У меня есть два маршрута, которые направляют к одной и той же функции контроллера...
//List blog_posts
Route::get('/', 'BlogController@listPosts');
//List deleted blog_posts
Route::get('/bin', 'BlogController@listPosts');
Теперь, есть ли способ определить внутри функции listPosts, какой маршрут был пройден?
Конечно, я мог бы создать другую функцию внутри BlogController, но мне не нравится эта идея ^^
2 ответа
Решение
Вы можете попробовать использовать Route::current()
, Он вернет объект типа Illuminate\Routing\Route
который имеет метод под названием getUri
:
var_dump(Route::current()->getUri());
Если вы дали своим маршрутам имя, вы также можете принять решение на основе этого:
var_dump(Route::currentRouteName());
Вы также можете использовать именованные маршруты:
Route::get('/', ['as' => 'listIndex', 'uses' => 'BlogController@listPosts']);
Route::get('/bin', ['as' => 'listBin', 'uses' => 'BlogController@listPosts']);
Это установит Route::currentRouteName()
что вы могли бы, если / еще на.