如何在中间件Laravel中获取请求的控制器和操作的名称
我是Laravel的新手,我想在filter middelware之前获取请求的控制器和操作的名称。
谢谢,DJ
我是Laravel的新手,我想在filter middelware之前获取请求的控制器和操作的名称。
谢谢,DJ
拉拉维尔 5.6:
class_basename(Route::current()->controller);
Laravel 5.5 及更低版本:
您可以使用 检索当前操作名称。遗憾的是,此方法将返回完全命名空间的类名。因此,您将获得如下内容:Route::currentRouteAction()
App\Http\Controllers\FooBarController@method
然后只需将方法名称和控制器名称分开:
$currentAction = \Route::currentRouteAction();
list($controller, $method) = explode('@', $currentAction);
// $controller now is "App\Http\Controllers\FooBarController"
$controller = preg_replace('/.*\\\/', '', $controller);
// $controller now is "FooBarController"
您可以添加此内容(Laravel v7 及更高版本)
use Illuminate\Support\Facades\Route;
....
Route::getCurrentRoute()->getActionMethod()