Blade là gì?

  • Blade là dạng cú pháp đơn giản được cung cấp bởi Laravel.
  • Sử dụng Blade:

    • Để tạo template header, footer, sidebar hay bất kỳ thành phần nào, include vào Views.
    • Sử dụng những câu lệnh cần thiết điều khiển các thành phần trong Views như: If else, for, foreach, ...
    • Còn nhiều tính năng khác, bạn có thể tham khảo thêm tại trang chính của Laravel: Blade

Cơ bản về Blade

  • Blade được thể hiện dưới dạng file có tên: name.blade.php
  • Blade được chứa bên trong thư mục /resources/views/

myproject

  • resources

    • views

      • welcome.blade.php welcome.blade.php

So sánh một vài cấu trúc tương đồng giữa PHP và Blade

PHP Blade
<?php ?>
{{ }}
<?php echo $name ?>
{{ $name }}
<?php include 'footer.php' ?>
{{ @include('includes.footer') }}
if(điều_kiện):
    câu_lệnh
elseif(điều_kiện):
    câu_lệnh;
else:
    câu_lệnh;
endif;
@if(điều_kiện)
    câu_lệnh;
@elseif(điều_kiện)
    câu_lệnh;
@else
    câu_lệnh;
@endif;
for ($i = 0; $i < 10; $i++) {
    câu_lệnh;
}
@for ($i = 0; $i < 10; $i++)
    câu_lệnh;
@endfor
while (true) {
    câu_lệnh;
}
@while (true)
    câu_lệnh;
@endwhile
foreach ($users as $user) {
    câu_lệnh;
}
@foreach ($users as $user)
    câu_lệnh;
@endforeach
Cần câu lệnh if và foreach
@forelse ($users as $user)
    {{ $user->name }}
@empty
    Không có user nào!
@endforelse

Cấu trúc folder mẫu của Blade

  • /resources/views/ là thư mục làm việc chính của Blade dành cho việc layout (không bao gồm chứa các files: css, js, image, ...).
  • Chúng ta có thể tổ chức folder bên trong /resources/views/ sao cho phù hợp với yêu cầu project cần, VD có thể tạo cấu trúc thư mục như sau:

myproject

  • resources

    • views

      • admin

        • Chứa file admin
      • includes

        • welcome.blade.php header.blade.php
        • welcome.blade.php footer.blade.php
        • welcome.blade.php aside.blade.php
        • welcome.blade.php admin_header.blade.php
        • welcome.blade.php admin_footer.blade.php
      • templates

        • welcome.blade.php admin.blade.php
        • welcome.blade.php default.blade.php
        • welcome.blade.php onecolumns.blade.php
      • welcome.blade.php toppage.blade.php
      • welcome.blade.php about.blade.php
      • welcome.blade.php news.blade.php
      • welcome.blade.php contact.blade.php

Click vào dấu [+] để xem cấu trúc.

Folder Mô tả
admin Chứa giao diện của trang Admin
includes Chứa giao diện của những phần include như: header, footer, aside, banner, ..., tùy vào mình mà có thể sắp xếp file cho phù hợp.
template Chứa giao diện template (mẫu) cho từng trang có cấu trúc giống nhau.