Так как php storm не знает каким образом ларавель распознает стандартные классы и методы
(а распознает он их с помощью своих конфигураций алиасов)
нам нужно установить дополнение в виде laravel-ide-helper
https://github.com/barryvdh/laravel-ide-helper
устанавливаем
composer require --dev barryvdh/laravel-ide-helper
генерируем
php artisan ide-helper:generate
в корне у нас должен появиться файл _ide_helper.php
для автоматической генерации при обновлении пакетов, добавим в composer.json
в параметр «scripts» следующий код
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"@php artisan ide-helper:generate",
"@php artisan ide-helper:meta"
]
в итоге у меня получилось
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"@php artisan ide-helper:generate",
"@php artisan ide-helper:meta"
]
}
теперь после обновления пакетов нам не нужно вручную запускать генератор
все запустится автоматически, в том числе и файл с мета данными для шторма
Далее, скопируем конфиг нашего хелпера (он скопирует конфиг с vendor папки дополнения, к нашим конфигам — /config/ide-helper.php)
php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config
и включим в нем флюенты
'include_fluent' => true,
Теперь наш php storm не ругается на несуществующие классы и методы.
Мне для работы с Laravel больше нравится Codelobster — http://www.codelobster.com/laravel.html
и включим в нем флюенты
‘include_fluent’ => true,
Где это прописать?
/config/ide-helper.php