BASIC TO ADVANCE

Bài 7: Blade template engine trong Laravel

-Hiện nay cũng có khá nhiều các PHP framework nổi tiếng như Codeigniter, zend, CAKE,... Nhưng chỉ một số framework có tích hợp template engine , vì đơn thuần khi sử dụng template engine thì nó sẽ làm giảm hiệu năng của trang web. Nhưng với Laravel thì lại khác, Laravel có tích hợp sẵn cho chúng ta blade template với tốc độ xử lý rất nhanh.

1,Tạo blade template trong Laravel.

-Để tạo một blade template trong Laravel thì trước hết các bạn phải hiểu blade template bản chất nó là một view trong Laravel nên các bạn phải đặt nó trong thư mục resources/views (view trong laravel). Và tên file của blade template phải kết thúc bằng .blade.php 

VD: mình sẽ tạo 1 blade template toidicode.blade.php trong thư mục resources/views

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Blade template</title>
    <link rel="stylesheet" href="">
</head>
<body>
    <h1>Chào mừng các bạn đã đến toidicode.com</h1>
</body>
</html>

2,Sử dụng blade template.

Hiển thị dữ liệu trong blade template.

-Trong PHP khi muốn in dữ liệu ra màn hình các bạn có thể dụng echo,printf,... Nhưng ở đây khi các bạn sử dụng blade template thì sẽ có 2 cách để in dữ liệu ra màn hình khác.

-Sử dụng {{}}.

{{ 'bien' }}

-Thẻ này có tác dụng in ra dữ liệu dưới dạng thô . VD:

{{ '<b>toidicode.com</b>' }}

KQ:

<b>toidicode.com</b>

-Sử dụng

{!! 'bien' !!}

-Thẻ này cho in ra dự liệu có appen HTML. VD:

{!! '<b>toidicode.com</b>' !!}

KQ:

toidicode.com

Dữ liệu mặc định trong blade template.

-Để sử dụng dữ liệu mặc định trong blade template  chúng ta có thể dùng OR.

VD: in ra bến $a nếu không có thì là 5.

{{ $a or 5 }}

Vòng lặp trong blade template.

-For:

@for($i = 0; $i < 10; $i++)
    In ra giá trị {{ $i }} <br/>
@endfor

-Foreach:

@foreach($users as $user)
    <p>This is user {{ $user->id }}</p>
@endforeach

-Forelse:

+ Lặp dữ liệu nếu trống thì...

@forelse($users as $user)
    <li>{{ $user->name }}</li>
@empty
    <p>No users</p>
@endforelse

-while:

@while (true)
    <p>I'm looping forever.</p>
@endwhile

Câu lệnh rẽ nhánh trong blade template engine.

-if-else:

@if(count($records) === 1)
    I have one record!
@elseif (count($records) > 1)
    I have multiple records!
@else
    I don't have any records!
@endif

3 ,Lời kết.

-Qua phần này mình đã giới thiệu cơ bản  về blade template engine trong laravel, nhưng trong blade template engine nó còn hỗ trợ chúng ta một phần cực kỳ hay nữa mình sẽ giới thiệu đến mọi người ở bài sau nhé!  

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Vũ Thanh Tài

About author
The best way to learn is to share
Xem tất cả bài đăng

3 Comments

Cảm ơn admin. Mình đọc thấy:
"Nhưng chỉ một số framework có tích hợp template engine , vì đơn thuần khi sử dụng template engine thì nó sẽ làm giảm hiệu năng của trang web. Nhưng với Laravel thì lại khác, Laravel có tích hợp sẵn cho chúng ta blade template với tốc độ xử lý rất nhanh."
=> Rất hi vọng được đọc bài so sánh, làm rõ về blade template, lí do làm cho tốc độ xử lý template trong laravel nhanh hơn. Đặc biệt nếu có sự so sánh với 1 vài framework khác thì tuyệt :D

Trần Minh

2 năm trước

-Thẻ này có tác dụng in ra dữ liệu dưới dạng thô . VD:

{{ $a = '<b>toidicode.com</b>' }}

-Thẻ này cho in ra dự liệu có appen HTML. VD:

{{ $a = '<b>toidicode.com</b>' }}

Ánh Dương

1 năm trước

Đoạn này mình viết nhầm đó, cảm ơn bạn nhé

Vũ Thanh Tài

1 năm trước

Bình luận

Captcha