Getting Started with Laravel : Blade Templating: Creating Reusable Layouts and Components - SkillBakery Studios

Breaking

Post Top Ad

Post Top Ad

Monday, July 13, 2026

Getting Started with Laravel : Blade Templating: Creating Reusable Layouts and Components

Getting Started with Laravel : Blade Templating: Creating Reusable Layouts and Components

Screenshot from the tutorial
Screenshot from the tutorial

Getting Started with Laravel: Blade Templating - Creating Reusable Layouts and Components

Laravel is a powerful PHP framework that simplifies web application development. One of its standout features is Blade, the templating engine that allows developers to create reusable layouts and components efficiently. In this blog post, we will explore how to get started with Blade templating in Laravel, focusing on creating reusable layouts and components.

What is Blade Templating?

Blade is Laravel's built-in templating engine that enables developers to write clean and efficient views. It provides a set of convenient features to help manage layouts, sections, and reusable components, making it easier to maintain code and create a consistent look across your application.

Benefits of Using Blade

  • Reusability: Blade allows you to create layouts and components that can be reused throughout your application.
  • Easy to Read: Blade syntax is clean and easy to understand, making it simple to create and modify views.
  • Control Structures: Blade provides convenient control structures for conditional statements and loops directly within your views.

Setting Up Your Laravel Project

Before we dive into Blade templating, ensure you have a Laravel project set up. If you haven't done that yet, you can create a new project using Composer:

composer create-project --prefer-dist laravel/laravel my-laravel-app

Navigate to your project directory:

cd my-laravel-app

Creating a Layout

Layouts are an essential part of Blade templating, allowing you to define a base structure for your views. Let’s create a simple layout that other views can extend.

Step 1: Create a Layout File

In the resources/views directory, create a new file named layout.blade.php:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@yield('title')</title>
    <link rel="stylesheet" href="{{ asset('css/styles.css') }}">
</head>
<body>
    <header>
        <h1>My Laravel Application</h1>
        <nav>
            <ul>
                <li><a href="/">Home</a></li>
                <li><a href="/about">About</a></li>
            </ul>
        </nav>
    </header>

    <main>
        @yield('content')
    </main>

    <footer>
        <p>&copy; 2023 My Laravel Application</p>
    </footer>
</body>
</html>

In this layout file, we define the structure of our HTML document, with placeholders for the title and content using @yield.

Step 2: Extending the Layout in a View

Now, let’s create a view that extends this layout. Create a new file named home.blade.php in the resources/views directory:

@extends('layout')

@section('title', 'Home Page')

@section('content')
    <h2>Welcome to the Home Page</h2>
    <p>This is where we will showcase the main content of our application.</p>
@endsection

Here, we use the @extends directive to inherit from the layout.blade.php file. The @section directive allows us to define the title and content specific to this view.

Step 3: Displaying the View

To display our new view, ensure you have a route set up in routes/web.php:

Route::get('/', function () {
    return view('home');
});

Now, when you navigate to your application's home page, you should see the content rendered within the layout.

Creating Reusable Components

In addition to layouts, Blade allows you to create reusable components that encapsulate HTML and logic. This helps keep your views clean and organized.

Step 1: Creating a Blade Component

You can create a Blade component using the Artisan command line tool. Run the following command in your terminal:

php artisan make:component Alert

This command will create two files: Alert.php in the app/View/Components directory and alert.blade.php in the resources/views/components directory.

Step 2: Defining the Component Logic

In the Alert.php file, you can define the properties that your component will accept. For example:

namespace App\View\Components;

use Illuminate\View\Component;

class Alert extends Component
{
    public $type;
    public $message;

    public function __construct($type, $message)
    {
        $this->type = $type;
        $this->message = $message;
    }

    public function render()
    {
        return view('components.alert');
    }
}

Step 3: Creating the Component Blade View

In the alert.blade.php file, you can define how the alert will be displayed:

<div class="alert alert-{{ $type }}">
    {{ $message }}
</div>

Step 4: Using the Component in a View

You can now use this component in any view, including your home.blade.php:

@extends('layout')

@section('title', 'Home Page')

@section('content')
    <x-alert type="success" message="Welcome to the Home Page!" />
    <h2>Welcome to the Home Page</h2>
    <p>This is where we will showcase the main content of our application.</p>
@endsection

Conclusion

Blade templating in Laravel significantly streamlines the process of creating reusable layouts and components, making your application easier to maintain and modify. By following the steps outlined in this tutorial, you can start leveraging Blade to enhance your Laravel applications effectively.

Don't forget to explore more of Laravel's features and capabilities to fully harness the power of this amazing framework! Happy coding!

Another screenshot from the tutorial
Another view from the tutorial

Connect with SkillBakery Studios

Explore more tutorials, tools, and resources:

Posted by SkillBakery Studios

No comments:

Post a Comment

Post Top Ad