How to get name of requested controller and action

2019-04-05 21:47发布

I am new to Laravel, and i want to get name of requested controller and action in beforefilter middelware.

Thanks, DJ

1条回答
混吃等死
2楼-- · 2019-04-05 21:58

Laravel 5.6:

class_basename(Route::current()->controller);

Laravel 5.5 and lower:

You can retrieve the current action name with Route::currentRouteAction(). Unfortunately, this method will return a fully namespaced class name. So you will get something like:

App\Http\Controllers\FooBarController@method

Then just separate method name and controller name:

$currentAction = \Route::currentRouteAction();
list($controller, $method) = explode('@', $currentAction);
// $controller now is "App\Http\Controllers\FooBarController"

$controller = preg_replace('/.*\\\/', '', $controller);
// $controller now is "FooBarController"
查看更多
登录 后发表回答