😂Laravel Blade passing variable @include, @extends full (ok)
https://stackoverflow.com/questions/29739745/laravel-blade-passing-variable-with-string-through-include-causes-error
Example 1
C:\xampp\htdocs\marinesTeam26\resources\views\parts\frontend\site-top.blade.php
C:\xampp\htdocs\marinesTeam26\resources\views\parts\frontend\test.blade.php
Example 2
C:\xampp\htdocs\marinesTeam26\resources\views\parts\frontend\inner\site-top.blade.php
Sử dụng trong blade master
C:\xampp\htdocs\marinesTeam26\resources\views\parts\frontend\site-top.blade.php
Bài đăng này đã không được cập nhật trong 3 năm
Đầu tiên là phải kể đến @include
một Directive hay dùng nhất khi chúng ta làm việc với view blade, nó cho phép đưa một view ở một file blade khác vào view này của bạn. Ví dụ một trang có 3 phần cơ bản là header.blade.php, content.blade.php, footer.blade.php thì ở trong file content.blade.php
ta có thể include phần view header và footer như sau:
Hoặc bạn cũng có thể truyền kèm theo một mảng dữ liệu qua view như sau:
Laravel Blade cho phép xác định một trình giữ chỗ được gọi stack và sau đó đẩy các giá trị sang stack đó. Điều này có thể rất hữu ích để gọi một hoặc nhiều file javascript theo yêu cầu của từng trang view khác nhau.
Khi tạo bố cục phức tạp trong Laravel Blade, bạn có thể kiểm tra xem một phần có nội dung bằng cách sử dụng @hasSection
để thực hiện việc kiểm tra này.
@each
của Laravel Blade cho phép bạn kết hợp vòng lặp và đưa vào một dòng. Ví dụ:
Trong đó, view.name
là phần view sẽ hiển thị cho từng phần của $job
, còn $job
sẽ là biến dùng để lặp để gán từng phần vào biến job
. Ngoài ra bạn cũng có thể truyền đối số thứ tư để hiển thị view nếu đối tượng hoặc mảng đó rỗng
@includeWhen
là phần mở rộng của @include
. Lệnh này sẽ bao gồm một view nếu điều kiện đã cho là đúng.
Trong ví dụ trên thì @includeWhen()
sẽ kiểm tra giá trị của biến $isUserAdmin
và nếu biến đó đúng, nó sẽ bao gồm cả view của riêng quản trị viên là users.admin_card
.
Đôi khi bạn có thể chuyển một mảng vào view của mình với ý định hiển thị nó dưới dạng JSON để khởi tạo một biến JavaScript. Ví dụ:
Tuy nhiên, thay vì gọi thủ công json_encode, bạn có thể sử dụng lệnh @json
của Blade. Lệnh này chấp nhận các đối số tương tự như json_encode của PHP
Ví dụ giờ bạn phải hiển thị hết tên của một danh sách người dùng thì bạn chỉ việc dùng @foreach
để lặp đúng không? Nhưng nếu thêm yêu cầu là phải kiểm tra xem danh sách đó có dữ liệu hay chưa thì bạn lại thêm câu điều kiện @if
vào như sau:
Nếu bạn đang hiển thị các biến JavaScript trong một phần lớn của view, bạn có thể gói HTML trong @verbatim
để bạn không phải đặt tiền tố cho mỗi câu lệnh echo Blade bằng một ký hiệu @ nữa
Thông thường trong PHP chúng ta sử dụng hàm isset() và empty() để kiểm tra xem giá trị của biến có trống hay không thì trong Laravel Blade sẽ cung cấp @isset()
và @empty()
để thay thế mã PHP thông thường.
Trong Blade sẽ thành như sau:
@inject
được sử dụng để truy xuất từ Service Container của Laravel và đưa vào view của bạn.
Đối số đầu tiên được truyền cho @inject này là một tên biến mà service sẽ được đặt vào, trong khi đối số thứ hai là Service mà bạn muốn gọi đến.
Khi bạn tạo Form trong Blade thì cần dùng @csrf
để khai báo trường CSRF ẩn dùng để xác thực yêu cầu.
Bên cạnh đó thì từ khi HTML không hỗ trợ các method PUT, PATCH và DELETE
thì trong Blade bạn sẽ cần phải thêm một method ẩn _method
để spoof những động từ HTTP. Lệnh @method
trong Blade có thể tạo trường này cho bạn:
Last updated