Laravel Include When Directive
Published on by Eric L. Barnes
A new feature in Laravel Blade is an includeWhen
directive. This allows you to simplify a typical if statement into a single line.
“I think it’s a cool feature as it tidies up so much boilerplate”, said James Brooks, the author of the pull request.
To see this feature in use pretend you have this common setup:
@if(Auth::user()) @include('nav.user')@endif
Now, this can be simplified using includeWhen:
@includeWhen(Auth::user(), 'nav.user')
Or as another example for those using Laravel’s Authorization system:
@if ($user->ownsPost($post) @include('posts.edit-controls', ['post' => $post])@endif
Can be changed to the following:
@includeWhen($user->ownsPost($post), 'posts.edit-controls', ['post' => $post])
This feature is now included in Laravel and you can run a composer update
to be sure you are on the latest release. For more Blade features check out the Laravel Blade category here on Laravel News.
Eric is the creator of Laravel News and has been covering Laravel since 2012.