Chúng phục vụ các mục đích khác nhau. Thẻ include
chỉ bao gồm toàn bộ nội dung từ một mẫu hiện có và chưa sửa đổi. Thẻ bao gồm tùy chỉnh chuyển ngữ cảnh đến một hàm có thể chứa logic để thao tác ngữ cảnh trước khi chuyển nó vào mẫu.
Ví dụ: có lẽ tôi có một bảng điều khiển sẽ được hiển thị trên nhiều trang. Mẫu của bảng điều khiển yêu cầu một vài truy vấn cụ thể được chuyển tới nó thông qua ngữ cảnh. Các trang có chứa bảng điều khiển không yêu cầu các biến ngữ cảnh đó cho bất kỳ thứ gì khác. Nếu tôi bao gồm mẫu bảng điều khiển với thẻ include
, tôi sẽ phải viết các truy vấn đó trong mỗi chế độ xem chứa bảng điều khiển và chuyển chúng dưới dạng biến ngữ cảnh.
Cách khác, tôi có thể viết thẻ bao gồm tùy chỉnh chứa các truy vấn và chuyển chúng vào mẫu của bảng điều khiển. Bằng cách sử dụng thẻ bao gồm tùy chỉnh, tôi sẽ không cần phải lặp lại mã để tạo ngữ cảnh của nó trong mỗi chế độ xem có chứa bảng điều khiển. Quan điểm của tôi sẽ chứa ít mã hơn và ít lộn xộn hơn với các biến ngữ cảnh chỉ được sử dụng bởi bảng điều khiển.
Mặc dù bạn chính xác theo nghĩa là thẻ bao gồm tùy chỉnh chỉ đơn giản chuyển vào ngữ cảnh không được quản lý sẽ giống như thẻ include
.
Điểm tuyệt vời. Tôi tự hỏi làm thế nào họ so sánh hiệu suất-khôn ngoan. – Wtower