问题 / 我尝试过的方法:
Laravel 5 中获取当前使用的控制器和操作很容易(但不如它应该的那么容易),然而我无法获取当前使用的 artisan 控制台命令。
要获取控制器名称,我这样做:
$route = Route::getRoutes()->match(Request::capture());
$listAction = explode('\\', $route->getActionName());
$rawAction = end($listAction);
// controller name and action in a simple array
$controllerAndAction = explode('@', $rawAction);
但是,当从控制台操作中调用时,它总是返回默认的索引控制器名称(在 Laravel 中为 "IndexController" 或类似名称)。有人知道如何解决这个问题吗?
顺便说一下,我也尝试过使用
Request::capture()
,但这仍然没有提供关于命令的信息。
Http
内核时才有请求可用。 - The Alpha