Laravel 5.6:
class_basename(Route::current()->controller);
Laravel 5.5 and lower:
可以使用Route::currentRouteAction()
检索当前操作名称.不幸的是,这个方法将返回一个完全命名空间的类名.所以你会得到这样的结果:
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"