фреймворк Laravel 5 IDE с автоподстановкой

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

шаги, которые я делаю:

  1. Установить Laravel 5

    composer create-project laravel/laravel 
    
  2. требуется ide-helper

    composer require barryvdh/laravel-ide-helper
    
  3. добавил 'BarryvdhLaravelIdeHelper IdeHelperServiceProvider',

    ....
    'IlluminateTranslationTranslationServiceProvider',
    'IlluminateValidationValidationServiceProvider',
    'IlluminateViewViewServiceProvider',
    'BarryvdhLaravelIdeHelperIdeHelperServiceProvider',
    
  4. пытается сгенерировать вспомогательный файл

    artisan ide-helper:generate
    

но он всегда ломается со следующей ошибкой:

exception 'InvalidArgumentException' with message 'There are no commands defined in the "ide-helper" namespace.' in C:xampphtdocstestvendorsymfonyconsoleSymfonyComponentConsoleApplication.php:501

0 C:xampphtdocstestvendorsymfonyconsoleSymfonyComponentConsoleApplication.php(535): SymfonyComponentConsoleApplication->findNamespace('ide-helper')
1 C:xampphtdocstestvendorsymfonyconsoleSymfonyComponentConsole

Application.php(192): SymfonyComponentConsoleApplication->find('ide-helper:gene...')
2 C:xampphtdocstestvendorsymfonyconsoleSymfonyComponentConsoleApplication.php(126): SymfonyComponentConsoleApplication->doRun(Object(SymfonyComponentConsoleInputArgvInput), Object(SymfonyComponentConsoleOutpu
tConsoleOutput))
3 C:xampphtdocstestvendorlaravelframeworksrcIlluminateFoundationConsoleKernel.php(91): SymfonyComponentConsoleApplication->run(Object(SymfonyComponentConsoleInputArgvInput), Object(SymfonyComponentConsoleOut
putConsoleOutput))
4 C:xampphtdocstestartisan(36): IlluminateFoundationConsoleKernel->handle(Object(SymfonyComponentConsoleInputArgvInput), Object(SymfonyComponentConsoleOutputConsoleOutput))
5 {main}

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

5 ответов


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

перед запуском обязательно php artisan clear-compiled и php artisan optimize Как отмечает здесь. Если это не исправило вашу проблему, взгляните на этой и очистить кэш PhpStorm, выбрав это:

Файл | Аннулировать Кэш/Перезагрузить

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

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

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


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

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

выполнения php artisan config:clear Исправлена проблема.


эта ошибка возникает, когда пакет ServiceProvider не загружен.

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

config/
  local/
    app.php
  app.php

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

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

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

php artisan ide-helper:generate

здесь обновлено gist С этого месяца. Я протестировал это, и он работает в PHPStorm.

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