我是Laravel的新手,我想在beforefilter middelware中获取请求控制器的名称和操作.

谢谢, DJ

推荐答案

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"

Laravel相关问答推荐

为什么在Blade 文件中输出用户通知时出现错误?

如何在生产中的 laravel 应用程序中获取标头请求值?

上传时Laravel正在旋转图像

如何在 laravel 中使用 str_replace

Laravel 5.3 auth 判断构造函数返回 false

Laravel 5.x 中 onUpdate / onDelete 的可用操作

需要 Vagrant 环境或目标机器

使用限制排队 Guzzle 请求

如何仅从 laravel FormRequest 中获取经过验证的数据?

使用数据库中的值进行动态邮件配置 [Laravel]

如何更改 ember-cli 中的 dist 文件夹路径?

Laravel 规则和正则表达式 (OR) 运算符的问题

Laravel:命令未找到

如何处理 php (Laravel api) 和 javascript (AngularJS) 之间的日期时间

如何运行artisan命令计划:在托管服务器上运行? (Laravel )

调整行数以形成:: Textarea Laravel 5

Laravel Mix 生成字体到另一个目录

如何在 laravel 4 中删除文件

如何在 laravel 用户删除中重置自动增量?

在 Laravel 中软删除父记录时如何软删除相关记录?