What phpStorm config is the author using in the "Let's Build a Forum" series?

Published 1 week ago by ZacharyDuBois

I am wondering what config for phpStorm the host is using in the "Let's Build a Forum" series because phpStorm's inspector isn't screaming with a new Laravel project. When I make a new project with phpStorm 2018.2 and Laravel 5.7, it screams about all of the Eloquent magic methods, all class aliases not being defined, etc. Even using the barryvdh/laravel-ide-helper package to generate the IDE and Meta helper files and enabling the Laravel IDE Plugin doesn't seem to fix the issue. I am fairly new to Laravel and I love how easy it makes everything but I'd like to use my preferred IDE and have autocompletion and code inspection working properly. If anyone has any tips for getting this to work, let me know!

A small nit-picky thing I have too: Is there any way to disable Laravel Valet being the first break in Xdebug with phpStorm?

Cronix
Cronix
1 week ago (794,690 XP)

Jetbrains actually has a pretty decent in-depth tutorial on setting everything up: https://confluence.jetbrains.com/display/PhpStorm/Laravel+Development+using+PhpStorm

ZacharyDuBois

Thanks for the quick reply!

I tried following that tutorial to a tee, I still run into issues when it comes to Eloquent's magic methods such as Model::create (as shown for the stock RegisterController.php).

Models

Auth Routes

This is after generating the IDE helper files. It seems like its any of aliased class doesn't work. I am just confused as to the amount of work to make it work with phpStorm when in the video, he literally runs laravel new forum and phpStorm isn't squawking about anything when he opens it and doesn't configure anything. He is also able to seamlessly jump to declarations, get type hints, and use the magic methods with no problem. So it seems there is a solution but I'm just unsure what it is.

D9705996
D9705996
1 week ago (127,290 XP)

Have you tried going through the series here on setting up phpstorm

https://laracasts.com/series/how-to-be-awesome-in-phpstorm

Not sure how relevant is in 2018 as I moved over to vscode.

ZacharyDuBois

The only thing they really changed in that series was adding the ide-helper. They didn’t even add the ide plugin for the forum series. This is why I’m trying to figure out why none of the methods it seems like everyone else uses work for my clean install of phostorm and Laravel.

EDIT: Laravel runs fine. It’s just the IDE inspections aren’t fully correct.

Cronix
Cronix
1 week ago (794,690 XP)

Did you run all 3 commands, specifically php artisan ide-helper:models?

Is this docblock at the top of the class (for instance the in the User model) with @mixin Eloquent?

/**
 * App\User
 *
 * @mixin Eloquent
 */
ZacharyDuBois

That fixes the magic methods in the for models but doesn't fix stuff like Auth::routes(). Plus I don't get why its so tedious to get Laravel to be friendly with IDEs. The reason I reference that "Lets Build a Forum" series is because the narrator did not do anything special or tedious and phpStorm worked as it was supposed to. I feel like I am doing something wrong or has Laravel just gotten that bad in IDEs since 5.5 (what was used in the series). If you look at the source for that series, you'll notice there are not ignored items for the IDE helper. In fact the IDE helper package isn't even required anywhere in the composer.json. Additionally when he initially made the laravel app in the first episode, he didn't have a Laravel Plugin nagging him to enable it when he opened the project.

All in all, the reason I made this thread is to get to the bottom of why Laravel has such bad support in phpStorm (and other various IDEs). It shouldn't need helper files, etc to work properly which is why I am so confused. One of the changes I made that fixed magic methods was to re-add the phpdoc for Illuminate\Database\Eloquent\Model. I also noticed there used to be a phpdoc for that model but it was removed in a later commit 77d8c23 & 5f879c5. The commit that removed them was 6f518a8.

I'm just a little baffled how some people have no issues with a new Laravel project in phpStorm and then others (like me) have an entirely different experience. I would love to hear from the narrator about how he configured his phpStorm or if this was caused by a recent Laravel update.

Please sign in or create an account to participate in this conversation.