2015-02-13 2 views
7

Я хочу переключиться на laravel 5, но у вас есть проблемы с ide - автозаполнением. Я использую phpstorm. В google ответы всегда заканчиваются тем, что предлагается использовать https://github.com/barryvdh/laravel-ide-helper. Но, похоже, она разбита на Laravel 5.laravel 5 ide autocompletion

шаги я совершаю являются:

  1. Установка Laravel 5

    composer create-project laravel/laravel 
    
  2. Требовать язь-помощник

    composer require barryvdh/laravel-ide-helper 
    
  3. Добавлен: 'Barryvdh \ LaravelIdeHelper \ IdeHelperServiceProvider',

    .... 
    'Illuminate\Translation\TranslationServiceProvider', 
    'Illuminate\Validation\ValidationServiceProvider', 
    'Illuminate\View\ViewServiceProvider', 
    'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', 
    
  4. Попытка сгенерировать вспомогательный файлу

    artisan ide-helper:generate 
    

Но всегда порывает с следующей ошибкой:

exception 'InvalidArgumentException' with message 'There are no commands defined in the "ide-helper" namespace.' in C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php:501 

0 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(535): Symfony\Component\Console\Application->findNamespace('ide-helper') 
1 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console 

\Application.php(192): Symfony\Component\Console\Application->find('ide-helper:gene...') 
2 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(126): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Outpu 
t\ConsoleOutput)) 
3 C:\xampp\htdocs\test\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(91): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Out 
put\ConsoleOutput)) 
4 C:\xampp\htdocs\test\artisan(36): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
5 {main} 

Может быть кто-то один и тот же вопрос, и может помочь мне. Я открыт для различных решений для автозаполнения, кроме ide-helper barryvdh.

+0

Вы сделали ** ВСЕ ** шаги? Я имею в виду это: * «После обновления композитора добавьте ServiceProvider в массив поставщиков в config/app.php» *? – LazyOne

+0

Да, я добавил поставщика услуг, обновит свой вопрос. Спасибо –

ответ

14

У меня была такая же проблема, и это установило, что:

Перед тем, как запустить php artisan ide-helper:generate команду, убедитесь, что php artisan clear-compiled и php artisan optimize, как это отмечено here. Если это не фиксируется вашу проблему, посмотрите на this и очистить кэш PhpStorm, выбирая это:

File | Invalidate Caches/Restart

После автоматического перезапуска, PhpStorm индексирует снова, и все должно работать нормально.

Извините за мой плохой английский.

Отредактировано: После этих шагов импортируйте свои фасады следующим образом: use Illuminate\Support\Facades\Auth свяжите их внутри своего _ide_helper.php файла, такого как use Auth.

1

Эта ошибка возникает, если пакет ServiceProvider не загружен.

Если у вас есть несколько файлов конфигурации (например, для другой среды), вы должны убедиться, что поставщик услуг хорошо установлен во всей среде, в которой вы собираетесь использовать пакет.

config/ 
    local/ 
    app.php 
    app.php 

, чтобы проверить, является ли поставщик услуг правильно установлен в вашем приложении вы можете сбросить приложение конфигурации:

dd(\Config::get('app.providers')); 
+0

Это действительно не имеет ничего общего с тем, что было задано. –

+2

@ RossEdman Похоже, что и есть. Если «Barryvdh \ LaravelIdeHelper \ IdeHelperServiceProvider» не добавляется в массив поставщиков в app.php, то ремесленник не будет показывать никаких команд из пространства имен ide-helper. В вопросе упоминается, что он сделал этот шаг, но я вижу в комментариях, которые он редактировал, это вопрос, чтобы добавить эту информацию. Это хороший ответ на исходный вопрос, который, вероятно, устранит проблему. – DavidDraughn

-1

Вот updated gist в этом месяце. Я тестировал это, и он работает в PHPStorm.

Также вам не нужно устанавливать это через композитор. Скопируйте gist и сохраните его в корневой папке как _ide_helper.php.

1

Попробуйте это:

php artisan ide-helper:generate 
2

Я столкнулся с той же проблемой. Эти шаги, которые я взял, чтобы исправить это:

  • Я дважды проверил, что 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider' было добавлено в providers массив в config/app.php.
  • Я выполнил artisan clear-compiled. Без эффекта

Выполнение php artisan config:clear устранение проблемы.