Laravel Q & A

 

How to use Blade templates in Laravel?

Using Blade templates in Laravel is like painting a masterpiece with a set of versatile brushes—Blade empowers developers to craft beautiful and dynamic web pages effortlessly. Let’s dive into a human-friendly guide on how to use Blade templates in Laravel:

 

To start, open your Laravel project in your preferred code editor. Blade templates are typically stored in the resources/views directory, where you can create and organize your template files.

 

To create a new Blade template, simply create a new .blade.php file within the resources/views directory. You can give your file any name you like, such as welcome.blade.php for the home page or layout.blade.php for a master layout template.

 

Inside your Blade template file, you can write regular HTML code with embedded PHP logic using Blade’s intuitive syntax. For example, you can use curly braces ({{ }}) to output variables or expressions, and use directives like @if, @foreach, and @include to control the flow of your template logic.

 

One of the powerful features of Blade is template inheritance, which allows you to create a master layout template that serves as the foundation for your application’s UI. To define a layout template, you can use the @extends directive followed by the name of your layout file. Inside your layout file, you can define sections using the @yield directive, which child templates can override with their own content.

 

For example, here’s how you might define a simple layout template named layout.blade.php:

php
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>@yield('title')</title>
</head>
<body>
    <div class="container">
        @yield('content')
    </div>
</body>
</html>

In your child templates, you can extend the layout template and define content for the sections using the @section directive. For example, here’s how you might define a child template named welcome.blade.php:

php
@extends('layout')

@section('title', 'Welcome')

@section('content')
    <h1>Welcome to My Website</h1>
    <p>This is a sample Blade template.</p>
@endsection

 

In this example, the @extends directive tells Laravel to use the layout.blade.php template as the layout for the welcome.blade.php template. The @section directives define content for the title and content sections, which are then rendered within the layout template.

 

You’ve successfully used Blade templates in Laravel to create dynamic and reusable UI components for your web application. With Blade’s intuitive syntax and powerful features, you can build stunning user interfaces with ease and efficiency.

Previously at
Flag Argentina
Argentina
time icon
GMT-3
Experienced Full Stack Engineer with expertise in Laravel and AWS. 7 years of hands-on Laravel development, leading impactful projects and teams.