Laravel Larvel 5:[对非对象调用成员函数getAction()

Laravel Larvel 5:[对非对象调用成员函数getAction(),laravel,laravel-5,laravel-routing,Laravel,Laravel 5,Laravel Routing,在我的控制器中,我有 Route::getCurrentRoute()->getAction()['as'] 在浏览器中一切正常,但只要我输入 php artisan route:list 在候机楼我有一个例外 [Symfony\Component\Debug\Exception\FatalErrorException] Call to a member function getAction() on a non-object 如果我评论这句话,一切都很好。似乎很明显,不是吗 在浏览

在我的控制器中,我有

Route::getCurrentRoute()->getAction()['as']
在浏览器中一切正常,但只要我输入

php artisan route:list
在候机楼我有一个例外

[Symfony\Component\Debug\Exception\FatalErrorException]
Call to a member function getAction() on a non-object

如果我评论这句话,一切都很好。

似乎很明显,不是吗


在浏览器中获取当前路由将返回当前访问的路由。在终端中,您没有此类请求。当询问访问的路由时,Laravel将返回null。您必须在调用getAction之前检查返回值。

您可以使用此代码

if(!App::runningInConsole()){
    Route::getCurrentRoute()->getAction()['as'];
}
当您运行artisan命令时,它不会出现错误。

对您来说可能是显而易见的:))我愚蠢地认为,当我们键入
php artisan路由;list
时,它只会计算routes.php。