Laravel 4.2 Illuminate Facade 没有得到解决
Laravel 4.2 Illuminate Facade are not getting resolved
我创建了一个 artisan 命令来按照下面的步骤清除应用程序缓存 link
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
}
}
以上代码出现异常(以上代码中的方法一):
Call to undefined method Illuminate\Support\Facades\Artisan::call()
Which means facades are not resolving to service providers.
对于方法二,我得到了以下异常
There are no commands defined in the "command" namespace.
我尝试使用 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',
这样试试
\Artisan::call('clearCache');
您可以将任何参数作为第二个参数传递
Artisan::call('clearCache', array('--paramname' => 'value'));
感谢您的帮助。
我没有按照我想要的方式工作,
但我在这里添加了一个适合我的解决方案。
希望它对其他人有用
global $app;
$artisan = new \Illuminate\Foundation\Artisan($app);
$artisan->call('command:clearCache');
我检查了所有外观,发现有几个外观 [Auth、Artisan] 没有正确解析。
希望对您有所帮助。
只是为了帮助可能遇到与我相同问题的任何人。我只是在调用 Artisan 时遇到了麻烦,但我得到了与 OP 相同的错误消息。
它最终是一个权限问题。重置存储权限和 Artisan 文件本身解决了这个问题。
我不知道权限如何或为何更改。
我创建了一个 artisan 命令来按照下面的步骤清除应用程序缓存 link
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
}
}
以上代码出现异常(以上代码中的方法一):
Call to undefined method Illuminate\Support\Facades\Artisan::call() Which means facades are not resolving to service providers.
对于方法二,我得到了以下异常
There are no commands defined in the "command" namespace.
我尝试使用 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',
这样试试
\Artisan::call('clearCache');
您可以将任何参数作为第二个参数传递
Artisan::call('clearCache', array('--paramname' => 'value'));
感谢您的帮助。
我没有按照我想要的方式工作, 但我在这里添加了一个适合我的解决方案。 希望它对其他人有用
global $app;
$artisan = new \Illuminate\Foundation\Artisan($app);
$artisan->call('command:clearCache');
我检查了所有外观,发现有几个外观 [Auth、Artisan] 没有正确解析。
希望对您有所帮助。
只是为了帮助可能遇到与我相同问题的任何人。我只是在调用 Artisan 时遇到了麻烦,但我得到了与 OP 相同的错误消息。
它最终是一个权限问题。重置存储权限和 Artisan 文件本身解决了这个问题。
我不知道权限如何或为何更改。