
# Blade Basics
Blade là một công cụ tạo template (template engine) mạnh mẽ được tích hợp sẵn trong Laravel. Nó cho phép bạn sử dụng các cấu trúc điều khiển như if, for, while,... ngay trong các file template của bạn. Dưới đây là một số khái niệm cơ bản và ví dụ minh họa để bạn có thể bắt đầu sử dụng Blade.
1. Tạo Và Sử Dụng File Blade
Các file Blade có đuôi mở rộng là .blade.php
. Ví dụ, bạn có thể tạo một file Blade cho trang chủ của ứng dụng như sau:
<!-- resources/views/home.blade.php -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Home Page</title>
</head>
<body>
<h1>Welcome to My Laravel Application</h1>
</body>
</html>
Để trả về view này từ một route, bạn có thể sử dụng phương thức view
của Laravel:
Route::get('/', function () {
return view('home');
});
2. Các Cấu Trúc Điều Khiển
If Statements
Blade hỗ trợ các cấu trúc điều khiển như if
, elseif
, else
, và endif
:
<!-- resources/views/home.blade.php -->
@if ($name == 'John')
<p>Hello, John!</p>
@elseif ($name == 'Jane')
<p>Hello, Jane!</p>
@else
<p>Hello, Stranger!</p>
@endif
Loops
Blade cũng hỗ trợ các cấu trúc lặp như for
, foreach
, forelse
, và while
:
<!-- resources/views/home.blade.php -->
@foreach ($users as $user)
<p>This is user {{ $user->name }}</p>
@endforeach
3. Echoing Data
Blade cung cấp cú pháp đơn giản để hiển thị dữ liệu từ các biến PHP:
<!-- resources/views/home.blade.php -->
<p>{{ $name }}</p>
<p>{{ $age }}</p>
Bạn cũng có thể sử dụng hàm @php
để nhúng mã PHP trực tiếp vào file Blade:
<!-- resources/views/home.blade.php -->
@php
$name = 'John';
@endphp
<p>{{ $name }}</p>
4. Escape HTML
Blade sẽ tự động escape các biến để bảo vệ ứng dụng của bạn khỏi các lỗ hổng XSS. Nếu bạn muốn hiển thị dữ liệu mà không escape, bạn có thể sử dụng cú pháp sau:
<!-- resources/views/home.blade.php -->
{!! $unescapedData !!}
5. Kế Thừa Layouts
Blade cung cấp cơ chế kế thừa layout giúp bạn tạo ra các template có cấu trúc lặp lại một cách dễ dàng.
Tạo Layout
<!-- resources/views/layouts/app.blade.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>
Sử Dụng Layout
<!-- resources/views/home.blade.php -->
@extends('layouts.app')
@section('title', 'Home Page')
@section('content')
<h1>Welcome to My Laravel Application</h1>
@endsection
6. Bao Gồm Các View Con (Including Sub-Views)
Bạn có thể chia nhỏ view thành các phần nhỏ hơn và bao gồm chúng vào view chính:
<!-- resources/views/includes/header.blade.php -->
<header>
<h1>Header Content</h1>
</header>
<!-- resources/views/home.blade.php -->
@include('includes.header')
Danh mục
Bài viết liên quan

Hiển thị giá trị trong Blade
Author: | ADMIN |
---|

Cấu Trúc Điều Kiện và Vòng Lặp Trong Blade
Author: | ADMIN |
---|

Layout: @include, @extends, @section, @yield
Author: | ADMIN |
---|
Bài viết khác

9 Mẹo Hữu Ích Khi Sử Dụng Blade Trong Laravel
Author: | ADMIN |
---|

Hiển thị giá trị trong Blade
Author: | ADMIN |
---|

Cấu Trúc Điều Kiện và Vòng Lặp Trong Blade
Author: | ADMIN |
---|