我通过以下链接创建了一个工匠命令来清除应用程序缓存
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() 这意味着门面没有解析给服务提供者。
对于方法二,我得到了以下异常
“命令”命名空间中没有定义任何命令。
我尝试使用 xdebug 对 2 个不同的门面进行调试(其中一个(应用程序门面)在 Artisan 没有正确解析的地方得到解决)。
我对门面及其工作原理知之甚少,但它们来自 laravel 框架,所以帮助较少。
编辑 config/app.php 中的前两行提供程序数组
'providers' => array(
'Illuminate\Foundation\Providers\ArtisanServiceProvider',
config/app.php 中的前三行别名
'aliases' => array(
'App' => 'Illuminate\Support\Facades\App',
'Artisan' => 'Illuminate\Support\Facades\Artisan',