Cách bao gồm tệp HTML trong Laravel

Blade là một công cụ tạo khuôn mẫu rất mạnh được cung cấp cùng với Laravel, không hạn chế người dùng sử dụng mã PHP đơn giản trong chế độ xem của họ

Các tệp xem dạng phiến sử dụng. lưỡi. php và thường được lưu trữ trong thư mục tài nguyên/lượt xem

Trong hướng dẫn này, bạn sẽ học cách hiển thị HTML trong Blade với Laravel 8

điều kiện tiên quyết

Nếu bạn chưa cài đặt và chạy ứng dụng Laravel, tôi khuyên bạn nên sử dụng DigitialOcean Ubuntu Droplet. Bạn có thể sử dụng mã liên kết của tôi để nhận khoản tín dụng DigitalOcean trị giá 100 đô la miễn phí để khởi động máy chủ của riêng bạn

Nếu bạn chưa có, bạn có thể làm theo các bước từ hướng dẫn này về cách thực hiện điều đó

  • Cách cài đặt Laravel trên DigitalOcean với 1 cú nhấp chuột

Hoặc bạn có thể sử dụng tập lệnh tuyệt vời này để thực hiện cài đặt

  • larabuồm

Hiển thị HTML trong Laravel Blade Views

Trước tiên, bạn cần đảm bảo rằng tệp của mình sử dụng phần mở rộng tệp

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

2 và nằm trong thư mục

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

3. Nó sẽ trông giống như thế này

🤩 Nhà tài trợ tuyệt vời của chúng tôi 👇

Xem trang web

DigitalOcean cung cấp giải pháp lưu trữ đám mây đơn giản và đáng tin cậy cho phép các nhà phát triển nhanh chóng thiết lập và chạy trang web hoặc ứng dụng của họ

Xem trang web

Bảng công việc chính thức của Laravel. Tìm các nhà phát triển Laravel giỏi nhất và tài năng nhất bằng cách đăng công việc của bạn trên bảng việc làm chính thức của Laravel

Xem trang web

Tìm hiểu cách viết mã chuỗi khối của riêng bạn và tạo tiền điện tử của riêng bạn với nền tảng đào tạo trực tuyến thú vị và tương tác CoinCap. Tìm hiểu thêm về chương trình tài trợ DevDojo và xem biểu trưng của bạn tại đây để đưa thương hiệu của bạn đến với hàng nghìn nhà phát triển.

Theo mặc định, bạn sẽ sử dụng cú pháp sau

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

4 để lặp lại nội dung của một biến cụ thể trong Blade. Theo mặc định,

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

5 thoát khỏi các thẻ HTML

Vì vậy, giả sử rằng bạn có một bài đăng trên blog với bộ sưu tập

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

6 có một số phần tử HTML trong thuộc tính

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

7, nếu bạn sử dụng như sau

{{ $post->body }}

Tất cả các thẻ HTML sẽ không được hiển thị dưới dạng HTML mà là văn bản thuần túy

Nếu bạn không muốn các thẻ HTML của mình bị thoát thì bạn nên sử dụng

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

8 như thế này

{!! $post->body !!}

đầu ra

Nếu bạn in ra cả hai và kiểm tra nguồn trang, bạn sẽ thấy đầu ra sau

<h1>Hello DevDojo</h1>
Hello DevDojo

Trong trường hợp đầu tiên, bạn có thể thấy các phần tử HTML đã được thoát như thế nào và trong trường hợp thứ hai khi chúng tôi sử dụng

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

8, chúng tôi đã nhận được các thẻ HTML thực tế

Sẽ an toàn hơn khi sử dụng

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

5 vì nó sẽ loại bỏ bất kỳ thẻ không mong muốn nào, nhưng vẫn có những lúc bạn có thể cần sử dụng

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

8

Blade là công cụ tạo khuôn mẫu đơn giản nhưng mạnh mẽ được cung cấp cùng với Laravel. Không giống như các công cụ tạo khuôn mẫu PHP phổ biến khác, Blade không hạn chế bạn sử dụng mã PHP đơn giản trong chế độ xem của bạn. Tất cả các chế độ xem Blade được biên dịch thành mã PHP đơn giản và được lưu vào bộ nhớ cache cho đến khi chúng được sửa đổi, nghĩa là Blade về cơ bản không thêm chi phí vào ứng dụng của bạn. Các tệp chế độ xem phiến sử dụng phần mở rộng tệp

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

6 và thường được lưu trữ trong thư mục

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

7

Kế thừa mẫu

Xác định bố cục

Hai trong số những lợi ích chính của việc sử dụng Blade là kế thừa mẫu và các phần. Để bắt đầu, chúng ta hãy xem một ví dụ đơn giản. Đầu tiên, chúng ta sẽ kiểm tra bố cục trang "chính". Vì hầu hết các ứng dụng web duy trì cùng một bố cục chung trên nhiều trang khác nhau nên sẽ thuận tiện khi xác định bố cục này dưới dạng một chế độ xem Blade duy nhất

App Name - @yield['title']

Như bạn có thể thấy, tệp này chứa đánh dấu HTML điển hình. Tuy nhiên, hãy lưu ý các chỉ thị

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

8 và

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

9. Chỉ thị

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

8, như tên ngụ ý, xác định một phần nội dung, trong khi chỉ thị

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

9 được sử dụng để hiển thị nội dung của một phần nhất định

Bây giờ chúng ta đã xác định bố cục cho ứng dụng của mình, hãy xác định một trang con kế thừa bố cục

Mở rộng bố cục

Khi xác định trang con, bạn có thể sử dụng chỉ thị Blade

{!! $post->body !!}
02 để chỉ định bố cục trang con sẽ "kế thừa". Các chế độ xem mà
{!! $post->body !!}
02 bố cục Blade có thể đưa nội dung vào các phần của bố cục bằng cách sử dụng các chỉ thị

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

8. Hãy nhớ rằng, như đã thấy trong ví dụ trên, nội dung của các phần này sẽ được hiển thị trong bố cục bằng cách sử dụng

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

9

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

Trong ví dụ này, phần

{!! $post->body !!}
06 đang sử dụng chỉ thị
{!! $post->body !!}
07 để nối thêm [chứ không ghi đè] nội dung vào thanh bên của bố cục. Chỉ thị
{!! $post->body !!}
07 sẽ được thay thế bằng nội dung của bố cục khi chế độ xem được hiển thị

Tất nhiên, giống như các khung nhìn PHP đơn giản, các khung nhìn Blade có thể được trả về từ các route bằng cách sử dụng hàm trợ giúp toàn cầu

{!! $post->body !!}
09

{!! $post->body !!}
0

Hiển thị dữ liệu

Bạn có thể hiển thị dữ liệu được chuyển đến chế độ xem Blade của mình bằng cách gói biến trong dấu ngoặc nhọn "xoăn". Ví dụ: đưa ra tuyến đường sau

<h1>Hello DevDojo</h1>
Hello DevDojo
0

Bạn có thể hiển thị nội dung của biến

<h1>Hello DevDojo</h1>
Hello DevDojo
00 như vậy

Tất nhiên, bạn không bị giới hạn trong việc hiển thị nội dung của các biến được truyền cho dạng xem. Bạn cũng có thể lặp lại kết quả của bất kỳ hàm PHP nào. Trên thực tế, bạn có thể đặt bất kỳ mã PHP nào bạn muốn bên trong câu lệnh Blade echo

<h1>Hello DevDojo</h1>
Hello DevDojo
2

Ghi chú. Các câu lệnh của Blade

<h1>Hello DevDojo</h1>
Hello DevDojo
01 được gửi tự động thông qua hàm
<h1>Hello DevDojo</h1>
Hello DevDojo
02 của PHP để ngăn chặn các cuộc tấn công XSS

Khung Blade & JavaScript

Vì nhiều khung JavaScript cũng sử dụng dấu ngoặc nhọn "xoăn" để biểu thị một biểu thức nhất định sẽ được hiển thị trong trình duyệt, nên bạn có thể sử dụng ký hiệu

<h1>Hello DevDojo</h1>
Hello DevDojo
03 để thông báo cho công cụ kết xuất Blade rằng một biểu thức sẽ không bị ảnh hưởng. Ví dụ

Trong ví dụ này, biểu tượng

<h1>Hello DevDojo</h1>
Hello DevDojo
03 sẽ bị xóa bởi Blade;

Dữ liệu lặp lại nếu nó tồn tại

Đôi khi bạn có thể muốn lặp lại một biến, nhưng bạn không chắc liệu biến đó đã được đặt chưa. Chúng ta có thể diễn đạt điều này bằng mã PHP dài dòng như vậy

<h1>Hello DevDojo</h1>
Hello DevDojo
8

Tuy nhiên, thay vì viết một câu lệnh gián đoạn, Blade cung cấp cho bạn một lối tắt tiện lợi sau đây

Trong ví dụ này, nếu biến

<h1>Hello DevDojo</h1>
Hello DevDojo
06 tồn tại, giá trị của nó sẽ được hiển thị. Tuy nhiên, nếu nó không tồn tại, từ
<h1>Hello DevDojo</h1>
Hello DevDojo
07 sẽ được hiển thị

Hiển thị dữ liệu chưa thoát

Theo mặc định, các câu lệnh

<h1>Hello DevDojo</h1>
Hello DevDojo
01 của Blade được gửi tự động thông qua hàm
<h1>Hello DevDojo</h1>
Hello DevDojo
02 của PHP để ngăn chặn các cuộc tấn công XSS. Nếu bạn không muốn dữ liệu của mình bị thoát, bạn có thể sử dụng cú pháp sau

Ghi chú. Hãy thật cẩn thận khi lặp lại nội dung do người dùng ứng dụng của bạn cung cấp. Luôn sử dụng cú pháp dấu ngoặc kép để thoát mọi thực thể HTML trong nội dung

Cấu trúc điều khiển

Ngoài kế thừa mẫu và hiển thị dữ liệu, Blade còn cung cấp các lối tắt thuận tiện cho các cấu trúc điều khiển PHP phổ biến, chẳng hạn như câu lệnh điều kiện và vòng lặp. Các lối tắt này cung cấp một cách làm việc rất rõ ràng, ngắn gọn với các cấu trúc điều khiển PHP, đồng thời vẫn quen thuộc với các đối tác PHP của chúng

câu lệnh if

Bạn có thể xây dựng các câu lệnh

<h1>Hello DevDojo</h1>
Hello DevDojo
20 bằng cách sử dụng các chỉ thị
<h1>Hello DevDojo</h1>
Hello DevDojo
21,
<h1>Hello DevDojo</h1>
Hello DevDojo
22,
<h1>Hello DevDojo</h1>
Hello DevDojo
23 và
<h1>Hello DevDojo</h1>
Hello DevDojo
24. Các lệnh này hoạt động giống hệt với các đối tác PHP của chúng

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

8

Để thuận tiện, Blade cũng cung cấp một chỉ thị

<h1>Hello DevDojo</h1>
Hello DevDojo
25

vòng lặp

Ngoài các câu lệnh có điều kiện, Blade cung cấp các lệnh đơn giản để làm việc với các cấu trúc vòng lặp được hỗ trợ bởi PHP. Một lần nữa, mỗi chỉ thị này hoạt động giống hệt với các đối tác PHP của chúng

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

0

Bao gồm các lượt xem phụ

Chỉ thị

<h1>Hello DevDojo</h1>
Hello DevDojo
26 của Blade, cho phép bạn dễ dàng bao gồm chế độ xem Blade từ trong chế độ xem hiện có. Tất cả các biến có sẵn cho chế độ xem chính sẽ được cung cấp cho chế độ xem được bao gồm

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

2

Mặc dù chế độ xem được bao gồm sẽ kế thừa tất cả dữ liệu có sẵn trong chế độ xem chính, nhưng bạn cũng có thể chuyển một mảng dữ liệu bổ sung sang chế độ xem được bao gồm

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

3

Ghi chú. Bạn nên tránh sử dụng các hằng số

<h1>Hello DevDojo</h1>
Hello DevDojo
27 và
<h1>Hello DevDojo</h1>
Hello DevDojo
28 trong chế độ xem Blade của mình, vì chúng sẽ đề cập đến vị trí của chế độ xem được lưu trong bộ nhớ cache

Hiển thị chế độ xem cho bộ sưu tập

Bạn có thể kết hợp các vòng lặp và bao gồm thành một dòng với chỉ thị

<h1>Hello DevDojo</h1>
Hello DevDojo
29 của Blade

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

0

Đối số đầu tiên là chế độ xem một phần để hiển thị cho từng phần tử trong mảng hoặc bộ sưu tập. Đối số thứ hai là mảng hoặc tập hợp bạn muốn lặp lại, trong khi đối số thứ ba là tên biến sẽ được gán cho lần lặp hiện tại trong dạng xem. Vì vậy, ví dụ: nếu bạn đang lặp qua một mảng

<h1>Hello DevDojo</h1>
Hello DevDojo
80, thông thường bạn sẽ muốn truy cập từng công việc dưới dạng một biến
<h1>Hello DevDojo</h1>
Hello DevDojo
81 trong chế độ xem của bạn

Bạn cũng có thể chuyển đối số thứ tư cho chỉ thị

<h1>Hello DevDojo</h1>
Hello DevDojo
29. Đối số này xác định chế độ xem sẽ được hiển thị nếu mảng đã cho trống

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

1

Bình luận

Blade cũng cho phép bạn xác định nhận xét trong chế độ xem của mình. Tuy nhiên, không giống như các nhận xét HTML, các nhận xét của Blade không được bao gồm trong HTML do ứng dụng của bạn trả về

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

2

tiêm dịch vụ

Chỉ thị

<h1>Hello DevDojo</h1>
Hello DevDojo
83 có thể được sử dụng để truy xuất một dịch vụ từ bộ chứa dịch vụ của Laravel. Đối số đầu tiên được chuyển đến
<h1>Hello DevDojo</h1>
Hello DevDojo
83 là tên của biến mà dịch vụ sẽ được đặt vào, trong khi đối số thứ hai là tên lớp/giao diện của dịch vụ mà bạn muốn giải quyết

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

3

lưỡi kéo dài

Blade thậm chí còn cho phép bạn xác định các chỉ thị tùy chỉnh của riêng mình. Bạn có thể sử dụng phương thức

<h1>Hello DevDojo</h1>
Hello DevDojo
85 để đăng ký chỉ thị. Khi trình biên dịch Blade gặp chỉ thị, nó sẽ gọi hàm gọi lại được cung cấp với tham số của nó

Ví dụ sau tạo một chỉ thị

<h1>Hello DevDojo</h1>
Hello DevDojo
86 để định dạng một
<h1>Hello DevDojo</h1>
Hello DevDojo
87 đã cho

@extends['layouts.master']

@section['title', 'Page Title']

This is appended to the master sidebar.

This is my body content.

4

Như bạn có thể thấy, hàm trợ giúp

<h1>Hello DevDojo</h1>
Hello DevDojo
88 của Laravel đã được sử dụng trong chỉ thị này. Trình trợ giúp
<h1>Hello DevDojo</h1>
Hello DevDojo
88 chỉ cần trả về đối tượng/giá trị mà nó được cung cấp, cho phép xâu chuỗi phương thức thuận tiện. PHP cuối cùng được tạo bởi chỉ thị này sẽ là

Làm cách nào để cài đặt mẫu HTML trong laravel?

Cách dễ nhất là, .
Sao chép tất cả các tệp HTML và dán vào thư mục xem
Thay đổi tất cả các phần mở rộng tệp từ. html sang. .
Gỡ bỏ '. html' từ tất cả các anchor href, vì vậy

Chủ Đề