Laravel 4.2 Illuminate Facade 没有得到解决
Posted
技术标签:
【中文标题】Laravel 4.2 Illuminate Facade 没有得到解决【英文标题】:Laravel 4.2 Illuminate Facade are not getting resolved 【发布时间】:2015-04-03 19:03:24 【问题描述】:我通过以下链接创建了一个工匠命令来清除应用程序缓存
http://code.tutsplus.com/tutorials/your-one-stop-guide-to-laravel-commands--net-30349
我试图在我的仪表板控制器中调用它,如下所示
namespace ABC;
class DashboardController extends \BaseController
/**
* Display a listing of the resource.
*
* @return Response
*/
var $viewContent = [];
public function index()
//Method one
\Artisan::call('command:clearCache');
//Method two
$console=new \Illuminate\Console\Application;
$console->call('command:clearCache');
//Other function goes here
上述代码出现异常(上述代码中的方法一):
调用未定义的方法 Illuminate\Support\Facades\Artisan::call() 这意味着门面不会解析给服务提供商。
对于方法二,我得到了以下异常
“command”命名空间中没有定义任何命令。
我尝试使用 xdebug 对 2 个不同的外观进行调试(其中一个(应用外观)在 Artisan 未正确解析的情况下得到解决)。
我对外观及其工作原理知之甚少,但它们来自 laravel 框架,因此帮助较少。
编辑 config/app.php 中的前两行 providers 数组
'providers' => array(
'Illuminate\Foundation\Providers\ArtisanServiceProvider',
config/app.php 中的前三行别名
'aliases' => array(
'App' => 'Illuminate\Support\Facades\App',
'Artisan' => 'Illuminate\Support\Facades\Artisan',
【问题讨论】:
【参考方案1】:这样试试
\Artisan::call('clearCache');
您可以将任何参数作为第二个参数传递
Artisan::call('clearCache', array('--paramname' => 'value'));
【讨论】:
我试过但遇到同样的问题:调用未定义的方法 Illuminate\Support\Facades\Artisan::call() @Ravi:你能不能检查一下你的app/config/app.php
,确认你是否在providers
下注册了工匠服务商(Illuminate\Foundation\Providers\ArtisanServiceProvider
)
我添加了 config/app.php 文件详情【参考方案2】:
感谢您的帮助。
我没有让它按我想要的方式工作, 但我在这里添加了一个对我有用的解决方案。 希望它对其他人有用
global $app;
$artisan = new \Illuminate\Foundation\Artisan($app);
$artisan->call('command:clearCache');
我检查了我的所有外观,发现几个外观 [Auth, Artisan] 没有正确解析。
希望它会有所帮助。
【讨论】:
【参考方案3】:只是为了帮助任何可能与我有同样问题的人。我只是在调用 Artisan 时遇到了麻烦,但我收到了与 OP 相同的错误消息。
最终成为权限问题。重置 Storage 和 Artisan 文件本身的权限解决了这个问题。
我不知道权限如何或为何发生更改。
【讨论】:
以上是关于Laravel 4.2 Illuminate Facade 没有得到解决的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 站点异常 'Illuminate\Session\TokenMismatchException'
Laravel 5 未找到类“Illuminate\Html\HtmlServiceProvider”
未找到 Laravel 5 类“Illuminate\Support\Facades\FormFacade”
Laravel 未找到“Illuminate\Foundation\Application”类
Laravel 5.8 Illuminate\Validation\ValidationException:给定的数据无效