Laravel Include When Directive

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.