# Blade Templates in Laravel

What are Blade Templates in Laravel?

Blade is Laravel's built-in templating engine. It helps create dynamic views with a clear, expressive syntax. It lets you embed PHP code in HTML. Keeping the code readable and maintainable.

---

## Origin

Blade is part of Laravel. It offers a better, developer-friendly alternative to traditional PHP templating.

---

## Why are Blade Templates Used?
1. **Template Inheritance**: Blade allows you to easily define and extend layouts in child views.
2. **Cleaner Syntax**: Blade directives such as '@if' and '@foreach' improve the readability of conditional rendering and loops.
3. **Precompiled Views**: Blade converts templates into plain PHP to improve efficiency.

---

## Best Practices.
1. **Leverage Components**: Create reusable UI elements with Blade components.
2. **Avoid Inline Logic**: Place logic in controllers or view models, not templates.
3. **Use Directives**: Use Blade directives such as '@auth', '@guest', and '@csrf' to simplify your templates.

---

## Example in Action

Define a layout in `resources/views/layouts/app.blade.php`:

```php
<!DOCTYPE html>
<html>
<head>
    <title>@yield('title')</title>
</head>
<body>
    <div class="container">
        @yield('content')
    </div>
</body>
</html>
```

Then extend it in a child view:

```php
@extends('layouts.app')

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

@section('content')
    <h1>Welcome to Laravel!</h1>
@endsection
```

Read this definition in a browser: https://ranetrace.com/glossary/blade-templates-in-laravel
