Skip to content

Laravel Idea 5.0

Laravel 9 support, convenient Laravel files creation, spatie packages support, and much more

The new major Laravel Idea update was released a bit before Laravel 9 release. We prepared everything to support it and added some significant features.

A new Laravel item in the New menu will help to quickly create Laravel classes in a case when usual Code generations aren't available:

New menu

This list is configurable in the Laravel Idea settings: Code generations section.

A new Route::controller() method was introduced in the Laravel 8.80 and now has full support in the Laravel Idea:

Route controller call

We added support for popular spatie/laravel-query-builder package. Relation and field completions for all "allowed*" method calls:

spatie/laravel-query-builder support

As well as completions for some rules from spatie/laravel-validation-rules package.

Convenient completions for Blade pair directives like @if/@endif, @foreach/@endforeach, and others:

Pair Blade directives completions

We removed the @class directive in one of the previous updates, but the PhpStorm team fixed the bug (it was hiding the "class" HTML attribute completion), so we returned it!

@class directive

An updated ide.json files support will help package developers set up some completion specific to their packages. For example, a small ide.json file with this content placed somewhere in the package source:

json
{
"$schema": "https://laravel-ide.com/schema/laravel-ide-v2.json",
"completions": \[
{
"complete": "routeName",
"condition": \[
{
"classNames": \["PackageFacade"\],
"methods": \["routeForTenant"\],
"parameters": \[1\]
}
\]
}
\],
"blade": {
"directives": \[
{
"name": "routeForTenant",
"prefix": "<?php echo PackageFacade::routeForTenant(",
                "suffix": "); ?>"
}
\]
}
}

Will allow package users to have completion not only for routeForTenant method:

ide.json method completion

But for @routeForTenant Blade directive and its parameter:

ide.json method completion

We are preparing complete documentation for ide.json files right now.

Small features:

  • Support for a new Eloquent attributes style (Laravel 8.77).
  • Support for Livewire ".index" components
  • Laravel Idea's helper code moved out from Project files, so it won't pollute the Class search.
  • Improved package fetching for projects with the removed composer.lock file - composer lock option
  • Completions for Eloquent methods: whereFullText, orWhereFullText, getOriginalWithoutRewindingModel, originalIsEquivalent, getRawOriginal, syncOriginalAttribute, syncOriginalAttributes
  • Other completions and a lot of fixes.
Thank you for keeping up with the last updates! We hope they will improve your productivity.
Laravel Idea team.