2013-10-31 17 views
12

Tại sao không phải lúc nào cũng sử dụng tính năng nhúng?Twig nhúng vs bao gồm, bất kỳ lý do gì để sử dụng bao gồm

Theo tài liệu, thẻ nhúng kết hợp hành vi của thẻ bao gồm và mở rộng.

Tôi hiểu rằng trong nhiều trường hợp bạn không cần phải mở rộng và chỉ muốn hiển thị nội dung của một mẫu khác, nhưng có vẻ như tôi chỉ có thể sử dụng tính năng nhúng và phục vụ mục đích đó. Có bất kỳ phân nhánh hiệu suất nào của tính năng nhúng cần lưu ý không? Có bất kỳ sự khác biệt về chức năng nào không?

+0

Câu hỏi tương tự - "Mở rộng hoặc bao gồm - điều gì tốt hơn trong Twig?": Http://stackoverflow.com/questions/7051743/extending-or-including-what-is-better-in-twig – Isinlor

Trả lời

14

tôi sẽ tóm tắt sự khác biệt và tương đồng giữa EmbedInclude như sau,

  • Cả hai đã được thêm vào cành để làm cho HTML code snippets tái sử dụng.
  • Cả hai đều được sử dụng để tách mẫu chức năng (chân trang, tiêu đề, ...)
  • Cả hai đều là động.
  • Include được sử dụng để bao bọc mã có cấu trúc HTML không linh hoạt.
  • Embed cho phép linh hoạt.

Dựa trên sự khác biệt, Include nên được sử dụng chỉ khi bạn cần phải chia một mẫu thành nhiều chức năng phụ mẫu và tái sử dụng mã bọc nơi khác.

Trong khi Embed được sử dụng khi bạn cần tùy chỉnh mẫu có thể sử dụng lại.

Vì vậy, nó là nhiều hơn một vấn đề về thiết kế so với bất cứ điều gì khác (hiệu suất, thực thi mã, ...)

Chọn helper phù hợp với nhu cầu của bạn.

+1

ok cảm ơn, nhưng là câu hỏi của tôi là: việc nhúng đó có cho phép sự linh hoạt không, tại sao không phải lúc nào cũng sử dụng nó. ngay cả khi mẫu của bạn không yêu cầu cấu trúc linh hoạt, có thể trong tương lai và điều này sẽ ngăn bạn phải thực hiện thay đổi đó – DMTintner

+0

Tôi đã cập nhật câu trả lời của mình, Bạn có thể sử dụng ở mọi nơi, Đó là vấn đề về thiết kế. Cá nhân tôi chỉ sử dụng nhúng khi cần. –

+0

cảm ơn, bạn có thể xác nhận rằng không có sự khác biệt hiệu suất giữa hai mặc dù? – DMTintner

Các vấn đề liên quan