- Проблемы с laravel-ide-helper
- 2 ответа
- Настройка PHPStorm для работы с Laravel
- Предварительная настройка IDE
- Выбор версии PHP и настройка пути к интерпретатору
- Указание путь к composer
- NodeJs
- JavaScript
- Настройка Laravel
- Установка Laravel плагина
- Настройка VueJs
- Подключение нужных библиотек, последние шаги настройки
- Установка IDE-helper
- Автодополнение команд artisan
- Резюме
- Subscribe to Блог php программиста: статьи по PHP, JavaScript, MySql
- ide-helper не работает в PhpStorm при работе с Laravel
- Error when installing #352
- Comments
- showFocus commented Jun 7, 2016
- nueko commented Jun 7, 2016 •
- barryvdh commented Jun 7, 2016
- nueko commented Jun 7, 2016
- cbcaio commented Jun 7, 2016
- AmrAlfoly commented Jun 7, 2016
- VictorLima17 commented Jun 8, 2016
- zek commented Jun 8, 2016
- frederik-jacques commented Jun 8, 2016
- somuraijoe commented Jun 8, 2016
- Carloscentro commented Jun 8, 2016 •
- VictorLima17 commented Jun 8, 2016
- barryvdh commented Jun 8, 2016
- JoshZA commented Jun 8, 2016
- barryvdh commented Jun 8, 2016
- VictorLima17 commented Jun 8, 2016 •
- ryanvade commented Jun 8, 2016
- coenjacobs commented Jun 9, 2016
- barryvdh commented Jun 9, 2016
- ghost commented Jun 9, 2016
- skaisser commented Jun 10, 2016
- ozanhazer commented Jun 10, 2016
- barryvdh commented Jun 13, 2016
- barryvdh commented Jun 13, 2016 •
- 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
В этом меню нужно переключить опцию в 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, которая тебе точно придётся по вкусе, дорогой разработчик.
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
Источник