News

Template Extraction

Published

Christopher Pitt has a new post talking about template extraction and keeping your html DRY.

This got me thinking about how we focus so much on making a score of abstraction layers, in the hopes that our code will be “less messy” or “easier to test” or even just because “Jeffrey said so”, but we often ignore what the templates look like.

I extract my templates in a similar fashion but I always use includes instead of sections and yields. For me it just seems simpler.

Here is an example of a few of my templates:

@include('inc.users', ['users' => $users, 'type' => 'sidebar'])

and then inc.users:

<div class="{{ $type }}">
@foreach ($users as $user)
@include('inc.user_item')
@endforeach
</div>

I’m sure both of these have positives and negatives but I’ve always like the @include mainly because I can optionally pass an array.

Have your say… How are you structuring your views? Any tips that I’m missing?

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Filed in

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Bifrost Turns One With AI Builds and New Workflows image

Bifrost Turns One With AI Builds and New Workflows

Read article
Preview Blade Templates in macOS Finder with Quick Blade image

Preview Blade Templates in macOS Finder with Quick Blade

Read article
Artisan Debugging Commands in Laravel Telescope 5.24.0 image

Artisan Debugging Commands in Laravel Telescope 5.24.0

Read article
Queue totalSize() and JobInterrupted Event in Laravel 13.31 image

Queue totalSize() and JobInterrupted Event in Laravel 13.31

Read article
Find Unexpected Test Inputs with Fuzz for Pest image

Find Unexpected Test Inputs with Fuzz for Pest

Read article
Laravel Rulebook: Business Rules That Change by Date image

Laravel Rulebook: Business Rules That Change by Date

Read article