Get a special 50% OFF discount on the plugin for new PhpStorm users

Laravel Idea 4.4.2: Blade route names, anonymous index components, spatie/laravel-permission and league/fractal package support, and many small features/fixes

Oct, 5, 2021

This minor update doesn't contain any significant new features, but the amount of little time-saving features is pretty big. It closes 25 issues from Github and 15 from the internal tracker.

Laravel Idea tries to support each new Laravel feature, and this update contains some of them. Laravel 8.56 introduced a special type for blade slot attributes, which is fully supported:

Blade slot attributes

As well as Anonymous Index Components and validation rules completions for Rule::when().

Two new packages are added to the supported list. league/fractal (or spatie/laravel-fractal) and spatie/laravel-permission. Smart Fractal transformers class generation can save a lot of time:

Create Fractal Transformer

Blade directives for the laravel-permission package will be registered automatically for all projects having it installed.

Convenient completion for the route names right in the blade href and action attribute values. Prefix and suffix are configurable in the Settings | Languages & Frameworks | Laravel Idea | Code Generation:

Blade route names completion

Route names are now available in the "Go To Symbol..." list (⌥⌘O or Ctrl-Shift-Alt-N).

Route names in Symbols

A policy for model now can be created by "Create model" action.

Model policy

Laravel Idea is highly configurable and almost every release adds new settings. If you want to have validation rules completion for each class implementing some interface you can add it to this setting:

Validation settings

Validatable

A helper code for facades and macro are generated after each project opening. This behavior can be changed in the Settings | Languages & Frameworks | Laravel Idea | Other Settings | Generate helper code in startup

The last preparations for automatic Eloquent helper code generations are done. It became much smaller and now supports immutable dates!

We had to temporarily remove the @class Blade directive support introduced in the 4.4.0 version because of issues with "class" HTML attribute completion. An issue in JetBrains YouTrack.

@class directive

If you don't have this issue, you can turn it on manually by Settings > PHP > Blade > Directives and create new one. @class with parameter, prefix: <?php echo \\Illuminate\\Support\\Arr::toCssClasses( and suffix )?> @class directive settings


Small features:
  • Completions for Eloquent methods: updateOrFail, whereMorphedTo, orWhereMorphedTo, whereRelation, orWhereRelation, whereMorphRelation, orWhereMorphRelation, whereBelongsTo
  • View completions for assertViewIs method
  • $FILE_NAME parameter for "Laravel Ideal" templates
  • Improved Inertia support: @inertia blade directive, $assert->component('completion') and smarter page files searching

Thank you for keeping up with the last updates! We hope they will improve your productivity.
Laravel Idea team.