Laravel ide helper не работает

Содержание
  1. Проблемы с laravel-ide-helper
  2. 2 ответа
  3. Настройка PHPStorm для работы с Laravel
  4. Предварительная настройка IDE
  5. Выбор версии PHP и настройка пути к интерпретатору
  6. Указание путь к composer
  7. NodeJs
  8. JavaScript
  9. Настройка Laravel
  10. Установка Laravel плагина
  11. Настройка VueJs
  12. Подключение нужных библиотек, последние шаги настройки
  13. Установка IDE-helper
  14. Автодополнение команд artisan
  15. Резюме
  16. Subscribe to Блог php программиста: статьи по PHP, JavaScript, MySql
  17. ide-helper не работает в PhpStorm при работе с Laravel
  18. Error when installing #352
  19. Comments
  20. showFocus commented Jun 7, 2016
  21. nueko commented Jun 7, 2016 •
  22. barryvdh commented Jun 7, 2016
  23. nueko commented Jun 7, 2016
  24. cbcaio commented Jun 7, 2016
  25. AmrAlfoly commented Jun 7, 2016
  26. VictorLima17 commented Jun 8, 2016
  27. zek commented Jun 8, 2016
  28. frederik-jacques commented Jun 8, 2016
  29. somuraijoe commented Jun 8, 2016
  30. Carloscentro commented Jun 8, 2016 •
  31. VictorLima17 commented Jun 8, 2016
  32. barryvdh commented Jun 8, 2016
  33. JoshZA commented Jun 8, 2016
  34. barryvdh commented Jun 8, 2016
  35. VictorLima17 commented Jun 8, 2016 •
  36. ryanvade commented Jun 8, 2016
  37. coenjacobs commented Jun 9, 2016
  38. barryvdh commented Jun 9, 2016
  39. ghost commented Jun 9, 2016
  40. skaisser commented Jun 10, 2016
  41. ozanhazer commented Jun 10, 2016
  42. barryvdh commented Jun 13, 2016
  43. barryvdh commented Jun 13, 2016 •
  44. ZamanOof commented Jun 20, 2016

Проблемы с laravel-ide-helper

Я просматриваю набор видео Laravel 5 Fundamentals Laracasts, но у меня возникают некоторые трудности с фасадами в моей среде IDE (Phpstorm 8). У меня есть модель, в которой используется фасад Eloquent use Illuminate\Database\Eloquent\Model;

Мне потребовался laravel-ide-helper composer require barryvdh/laravel-ide-helper , я добавил поставщика услуг в массив поставщиков ‘Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider’, , регенерировал документы и перезапустил свою IDE, но безуспешно.

У меня есть объявление модели в моем контроллере $article = Article::findOrFail($id); , но метод findOrFail выделен и помечен как метод findOrFail, которого нет в классе App \ Article.

Я новичок в Laravel и концепции фасадов, но я потерялся и не смог найти существующий ответ на мою проблему.

2 ответа

Вы пробовали php artisan ide-helper:generate ?

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

Что касается findOrFail, мне повезло с использованием класса CLASSNAME extends \ Eloquent вместо класса CLASSNAME extends Model в вашей модели. Этот обходной путь заставит его использовать вспомогательный файл, поэтому я считаю, что вам нужно будет развернуть С помощью файла ide-helper, но я не уверен.

Кажется, это заставит большинство из них работать, однако у меня все еще возникают проблемы с получением того, где работать в моей модели, не уверен, связано ли это с тем, как я его называю $ query-> where (. но использование \ Eloquent, похоже, исправляет большинство методов.

Источник

Настройка PHPStorm для работы с Laravel

Laravel — это замечательный фреймворк, который имеет широкий функционал, и много реализаций, облегчающих жизнь программисту. Однако, обратной стороной этого удобства является сложность в чтении кода для IDE. В результате чего, IDE не может проанализировать код должным образом, и построить полное автодополнение кода. Потому, для того, чтобы было удобно работать с Laravel в PHPStorm-е, его необходимо дополнительно настроить.

В этой статье будет рассмотрено:

Предварительная настройка IDE

В каждом новом проекте, который я начинаю в PHPStorm-е, начальные шаги одинаковые: выбор интерпретатора PHP, указание пути к composer-у, NodeJs и JavaScript

Выбор версии PHP и настройка пути к интерпретатору

Настройка версии PHP и интерпретатора находится на вкладке File | Settings | Languages & Frameworks | PHP

В открывшемся окне, будет доступно 2 изменяемые графы:
PHP Language Level — это версия PHP, по которой IDE будет проверять синтаксис вами написанного кода. И в случае несоответствия синтаксису выбранной версии, прямо в IDE вам будет подсвечена ошибка.
CLI interpriter — это путь к интерпретатору PHP.
Если вы ранее не добавляли интерпретаторы, то вам ничего не будет доступно, потому, сейчас его нужно добавить, нажав, справа от выбора интерпретатора, кнопку поиска (2)

После нажатия по (2) кнопке, то появится меню:

Нажав на (1) кнопку, будет предложено на выбор 2 варианта:
From Docker, Vagrant, VM, Remote — в случае, если вы хотите указать удалённый интерпретатор (Docker, Vagrant)
Local Path to Interpreter — чтобы указать локальную версию (как в моём случае)

А в PHP executable нужно прописать путь к php.
Я пользуюсь Laragon, потому мой путь выглядит PATH_TO_LARAGON\bin\php. \php.exe ,

В случае OpenServer, путь будет выглядеть примерно: PATH_TO_OS\modules\php\. \php.exe

Указание путь к composer

Путь к composer-у указывается на вкладке File | Settings | Languages & Frameworks | PHP | Composer

Читайте также:  Не работает печка toyota wish

В этом меню нужно переключить опцию в composer.phar, и в этой графе (1) указать путь к исполняемому файлу composer.

И выберите итерпретатор, созданный шагом ранее

У меня, путь к composer-у выглядит так: E:\laragon\bin\composer\composer.phar

NodeJs

NodeJs, его пакетный менеджер, NPM, будет хорошим помощником в подключении всех фронтенд-библиотек. Потому, во-первых, нужно указать путь к самому NodeJs, а во вторых, нужно настроить всё так, чтобы синтаксис Vue-шаблонов был понятен для самой IDE.

В меню File | Settings | Languages & Frameworks | Node.js and NPM, аналогично предыдущим пунктам, нужно указать путь к nodeJs (после его указания, автоматически должен подключиться NPM)

JavaScript

Ввиду того, что Vue использует новые ES6 синтаксис для написания шаблонов, то необходимо в самой IDE переключить на поддержку этого синтаксиса на вкладке File | Settings | Languages & Frameworks | JavaScript, выбрав ECMSScript 6

Настройка Laravel

Теперь, осталось провести некоторые настройки, относящиеся к Laravel.

Установка Laravel плагина

Теперь нужно установить Laravel-плагин в PHPStorm. Плагины устанавливаются на вкладке File | Settings | Plugins.
Для поиска плагина, в строку поиска нужно вписать laravel

И выбрать интересующий нас Laravel Plugin, который добавляет автодополнение в маршрутах, видах, конфигах.

Когда он будет установлен, появится новая вкладка File | Settings | Languages & Frameworks | PHP | Laravel

На которой, нужно поставить галочку на Enable plugin for this project

Настройка VueJs

Для VueJs, аналогично Laravel, так же существует свой отдельный плагин. Чтобы его установить, нужной на вкладке File | Settings | Plugins найти Vue и установить

Подключение нужных библиотек, последние шаги настройки

Сейчас мы уже имеем проект, с которым можно работать. Однако, по-прежнему, нету автокомплита методов в маршрутах, миграциях, Eloquent, ввиду особенной структуры фреймворка. Для решения этой проблемы, нужно скачать библиотеку laravel ide-helper, которая сгенерирует дополнительные мета-файлы для IDE.

Установка IDE-helper

Для установки IDE-helper-а, воспользуемся composer-ом (Tools > Composer > Manage Dependencies)
И в строку поиска, введём: barryvdh/laravel-ide-helper

Установив эту библиотеку, нужно добавить в файл config/app.php, в массив providers: Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class

На этом этапе, уже можно запустить ide-helper, и получить желаемый эффект автокомплита. Но, сделав так в данный момент, эта библиотека возьмёт дефолтные настройки, в которых отключена генерация Fluent-методов. Потому, прежде, скопируем конфиг ide-helper.php с папки vendor/barryvdh/laravel-ide-helper/config, в локальную папку config.
И уже в локальном файле, нужно изменить значение include_fluent на true .

Теперь достаточно выполнить команду artisan ide-helper:generate
После чего, появится новый файл _ide_helper.php , который PHPStorm успешно проанализирует, и мы получим желаемое автодополнение:

Автодополнение команд artisan

Сложно заполнить все команды artisan, а постоянно отвлекаться на поиск команд не продуктивно. Благо, в PHPStorm предусмотрена возможность созданий автодополнения команд (File | Settings | Tools | Command Line Tool Support).
Artisan — это команда, основана на консоле symfony, зная это, добавим команду:

Откроется меню, в котором нужно указать:
alias — с какого имени начинаются команды (можно указать a , и вызывать a make:controller .
Path to PHP executable — наш ранее добавленный интерпретатору
Path To Script — путь к artisan-файлу проекта

В результате, должны получить информацию о том, что команды добавлены:

И сейчас, если открыть консоль: Tools > Run Commands

И все команды, которые начинаем с artisan будут подсвечены возможным дополнением

Резюме

Итого, в этой статье была рассмотрена настройка laravel в phpstorm, установка плагинов, так же было показано, как работать с Laravel IDE-helper, настраивать composer и включать автодополнение phpstorm artisan команд

А ещё, рекомендую просмотреть статью, в которой я показываю процесс установки и настройки крутой темы оформления Monokai для PHPStorm, которая тебе точно придётся по вкусе, дорогой разработчик.

Читайте также:  Магнитола jvc kd g227 настроить часы

Subscribe to Блог php программиста: статьи по PHP, JavaScript, MySql

Get the latest posts delivered right to your inbox

Источник

ide-helper не работает в PhpStorm при работе с Laravel

Главный редактор: Xavier Shelton, электронная почта

Я работаю с Laravel 5.3, использую barryvdh/laravel-ide-helper .

Я создал .phpstorm.meta.php и _ide_helper.php , но по-прежнему помечает классы PhpStorm как undefined.

Что мне делать с этой проблемой?

  • Пожалуйста, попробуй File | Invalidate Caches. и перезапустите IDE — может помочь.
  • File-> Invalidate Cache не помогло

Вам необходимо импортировать одиночные классы вместо полных квалифицированных путей.

Так что измените свой импорт с use Illuminate\Http\Request к use Request

Также подумайте об установке плагина «Laravel» для PHPStorm. Вы можете найти его, просмотрев репозиторий плагинов JetBrains (можно найти в настройках).

Перед (повторным) созданием файлов ide-helper попробуйте следующие команды: composer dumpauto php artisan config:clear php artisan clear-compiled

  • Ваше предложение не работает. PHPStorm помечает как undefined не только классы. Такие помощники, как config (), route (), trans (), тоже помечены как undefined. Плагин Laravel установлен.
  • Пытался сделать кеш недействительным? @ Я.Меньшов
  • Сделал ссылку, но к сожалению не помогло. ссылка @manniL

Источник

Error when installing #352

Comments

showFocus commented Jun 7, 2016

I’m using a frsh install of Laravel 5.2.36. When I run this command:

composer require barryvdh/laravel-ide-helper

I get the following error:

Your requirements could not be resolved to an installable set of packages.
Problem 1
— Installation request for phpdocumentor/reflection-docblock (locked at 3.0.2) -> satisfiable by phpdocumentor/reflection-docblock[3.0.2].
— barryvdh/laravel-ide-helper v2.1.0 requires phpdocumentor/reflection-docblock 2.0.4 -> satisfiable by phpdocumentor/reflection-docblock[2.0.4].
— barryvdh/laravel-ide-helper v2.1.1 requires phpdocumentor/reflection-docblock 2.0.4 -> satisfiable by phpdocumentor/reflection-docblock[2.0.4].
— barryvdh/laravel-ide-helper v2.1.2 requires phpdocumentor/reflection-docblock 2.0.4 -> satisfiable by phpdocumentor/reflection-docblock[2.0.4].
— barryvdh/laravel-ide-helper v2.1.3 requires phpdocumentor/reflection-docblock ^2.0.4 -> satisfiable by phpdocumentor/reflection-docblock[2.0.4].
— barryvdh/laravel-ide-helper v2.1.4 requires phpdocumentor/reflection-docblock ^2.0.4 -> satisfiable by phpdocumentor/reflection-docblock[2.0.4].
— Conclusion: don’t install phpdocumentor/reflection-docblock 2.0.4
— Installation request for barryvdh/laravel-ide-helper ^2.1 -> satisfiable by barryvdh/laravel-ide-helper[v2.1.0, v2.1.1, v2.1.2, v2.1.3, v2.1.4].

The text was updated successfully, but these errors were encountered:

nueko commented Jun 7, 2016 •

I have no issue when installing fresh 5.2, but 5.1 yes.
i think the package composer.json should be

if you currious, just hit composer why phpdocumentor/reflection-docblock

to fix the issue, i first remove phpdocumentor/reflection-docblock:^3.0

then install the phpdocumentor/reflection-docblock:^2.0

then install this package

barryvdh commented Jun 7, 2016

Can you submit a pr?

nueko commented Jun 7, 2016

cbcaio commented Jun 7, 2016

I had the same problem, however I was using laravel 5.2.36 and I «accidentally» ran composer update, only then the phpdocumentor/reflection-docblock updated to 3.0.

AmrAlfoly commented Jun 7, 2016

same problem here
i even tried the fix that was suggested by @nueko but the same error appears when i try to install the ide-helper package

VictorLima17 commented Jun 8, 2016

Same problem here

zek commented Jun 8, 2016

frederik-jacques commented Jun 8, 2016

got the same issue after adding IDE helper to Laravel v5.2.36

somuraijoe commented Jun 8, 2016

Carloscentro commented Jun 8, 2016 •

While this is corrected, simply edit composer.json in Laravel project:
«require»: <
«php»: «>=5.5.9»,
«laravel/framework»: «5.1.*»,
«doctrine/dbal»: «

2.3″,
«barryvdh/laravel-ide-helper»: «^2.1»

Then run composer update

This works for me.

VictorLima17 commented Jun 8, 2016

barryvdh commented Jun 8, 2016

Why are you all getting phpDocumentor v3? Is there some new library using that?

JoshZA commented Jun 8, 2016

Same issue on fresh install of 5.2

barryvdh commented Jun 8, 2016

So what package is conflicting? (So not reflection docblock, but the other package using v3 of reflection docblock)

VictorLima17 commented Jun 8, 2016 •

In my case,came together with Laravel @barryvdh

ryanvade commented Jun 8, 2016

I cloned a project that is using 5.2.36, ran composer install, and am now getting this error. The fix @nueko suggested fixes it.

Читайте также:  Как правильно отремонтировать гбц

coenjacobs commented Jun 9, 2016

phpspec/prophecy requires this:

via this pull request. Reasons are some compatibility issue with Symfony 3.1.

barryvdh commented Jun 9, 2016

Well, in that case Composer should install ^2.0, not keep 3.x..

ghost commented Jun 9, 2016

I’ve used the solution @Carloscentro suggested. Just adding the «barryvdh/laravel-ide-helper»: «^2.1» line to the require object of the composer.json file, Composer automatically updates all the required dependencies and installs the desired package.

skaisser commented Jun 10, 2016

Just Followed @h4ckth1ssh1t instructions and it worked perfectly here!

ozanhazer commented Jun 10, 2016

Hmm composer require barryvdh/laravel-ide-helper fails but updating composer.json and then installing is fine as @Carloscentro and others mentioned.
Using laravel v5.2 and composer v1.1.2. I feel like this might be some composer bug or something :\

barryvdh commented Jun 13, 2016

Yeah if anyone can create a PR for v3, that would be great 🙂

barryvdh commented Jun 13, 2016 •

In the meanwhile, I updated my fork and used that for ReflectionDocblock.

Can you try with laravel-ide-helper v2.2.0?

ZamanOof commented Jun 20, 2016

I try 1.11 & 2.2.0 u mentioned , i have the same error :
**composer require barryvdh/laravel-ide-helper

2.2.0
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
— illuminate/console v5.2.25 requires illuminate/contracts 5.3.* -> satisfiable by illuminate/contracts[5.3.x-dev] but these conflict with your requirements or minimum-stability.
— Installation request for barryvdh/laravel-ide-helper

2.2.0 -> satisfiable by barryvdh/laravel-ide-helper[v2.2.0].
— Conclusion: remove laravel/framework v4.2.19
— Conclusion: don’t install laravel/framework v4.2.19
— barryvdh/laravel-ide-helper v2.2.0 requires illuminate/console ^5.0, satisfiable by illuminate/console[v5.0.0, v5.0.22, v5.0.25, v5.0.26, v5.0.28, v5.0.33, v5.0.4, v5.1.1, v5.1.13, v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1.28, v5.1.30, v5.1.31, v5.1.6, v5.1.8, v5.2.0, v5.2.19, v5.2.21, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.31, v5.2.32, v5.2.37, v5.2.6, v5.2.7].
— don’t install illuminate/console v5.0.0|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.0.22|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.0.25|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.0.26|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.0.28|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.0.33|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.0.4|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.1|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.13|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.16|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.2|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.20|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.22|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.25|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.28|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.30|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.31|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.6|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.1.8|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.0|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.19|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.21|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.24|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.26|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.27|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.28|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.31|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.32|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.37|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.6|don’t install laravel/framework v4.2.19
— don’t install illuminate/console v5.2.7|don’t install laravel/framework v4.2.19
— Installation request for laravel/framework (locked at v4.2.19, required as 4.2.) -> satisfiable by laravel/framework[v4.2.19].*

** I use composer version : **

Composer version 1.1.2 2016-05-31 19:48:11

Источник

Оцените статью