When duplicate HTML blocks appear in a Blade template, there are several ways to eliminate the repetition.
Suppose the original template looks like this:
| |
Method 1: @include Directive
Create hello-world.blade.php:
| |
Use @include to load it:
| |
Method 2: Component
Create components/hello-world.blade.php:
| |
Use <x-hello-world /> to load it:
| |
Method 3: ob_start
| |
The first two are official Laravel approaches, but both require extracting the duplicate block into a separate file. The third method uses ob_start to capture the output into a buffer, then retrieves it – no extra file needed. It’s suitable for blocks that only repeat within a single template and aren’t worth extracting into their own file.
