Laravel 4.2 Освещение фасада не решается

Я создал команду ремесленника, чтобы очистить кеш приложения, перейдя по ссылке ниже

http://code.tutsplus.com/tutorials/your-one-stop-guide-to-laravel-commands—net-30349

Я пытаюсь вызвать его внутри контроллера Dashboard, как показано ниже

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' => array(
'Illuminate\Foundation\Providers\ArtisanServiceProvider',

Первые три строки псевдонимов в config / app.php

 'aliases' => array(
'App' => 'Illuminate\Support\Facades\App',
'Artisan' => 'Illuminate\Support\Facades\Artisan',

3

Решение

Попробуй вот так

\Artisan::call('clearCache');

Вы можете передать любые параметры в качестве второго аргумента

Artisan::call('clearCache', array('--paramname' => 'value'));
1

Другие решения

Спасибо за помощь.

Я не получил это работает так, как я хотел,
Но я добавляю сюда решение, которое работает для меня.
Надеюсь, это будет работать для кого-то еще

    global $app;
$artisan = new \Illuminate\Foundation\Artisan($app);
$artisan->call('command:clearCache');

Я проверил весь фасад и обнаружил, что пара фасадов [Auth, Artisan] не решается правильно.

Надеюсь, это поможет.

1

Просто чтобы помочь любому, у кого может быть такая же проблема, как у меня. У меня были проблемы только с вызовом Artisan, но у меня было то же сообщение об ошибке, что и у OP.

Это закончилось тем, что проблема с разрешениями. Сброс разрешений для хранилища и самого файла Artisan решил эту проблему.

Я не знаю, как и почему изменились разрешения.

1
По вопросам рекламы [email protected]