2010-10-26 67 views
21

Tôi đã đọc ở đâu đó rằng PHP là một ngôn ngữ templating. Ngôn ngữ templating chính xác là gì? Điều gì tạo nên PHP? Ngôn ngữ templating khác là gì?Ngôn ngữ templating là gì?

+0

Thuật ngữ về cơ bản xác định phạm vi sử dụng. Một ngôn ngữ templating có các thuộc tính giữa một ngôn ngữ lập trình (đầy đủ) và một ngôn ngữ macro (mở rộng). – mario

Trả lời

18

Tiền đề đằng sau ngôn ngữ mẫu là ngôn ngữ được "nhúng" trong một số tài liệu chính khác. Cụ thể, trên tài liệu trung bình của bạn, tổng kích thước của tài liệu chủ yếu là nguồn tài liệu so với ngôn ngữ mẫu.

Hãy xem xét hai ví dụ giả tạo:

print "This is a simple document. It has three lines." 
print "On the second line is my name: " + firstName 
print "This is the third line." 

vs

This is a simple document. It has three lines. 
On the second line is my name: $firstName 
This is the third line. 

Bạn có thể thấy trong ví dụ đầu tiên, ngôn ngữ kết thúc tốt đẹp các văn bản tài liệu. Trong ví dụ thứ hai, văn bản tài liệu là phổ biến nhất, chỉ với một chút mã.

Một số ngôn ngữ mẫu là các ngôn ngữ mục đích chung đầy đủ thổi, chẳng hạn như PHP, ASP.NET và JSP của Java. Các thiết bị khác bị giới hạn hơn được thiết kế đặc biệt cho việc tạo khuôn mẫu, chẳng hạn như Velocity và FreeMarker (cả hai tiện ích cho Java).

Nhiều bộ xử lý văn bản, chẳng hạn như Microsoft Word, có khả năng tạo khuôn mẫu riêng, thường được gọi là "Trộn thư".

7

PHP không nhất thiết phải là ngôn ngữ tạo khuôn mẫu, nhưng nó có thể vượt qua kiểm tra đó do cách nó được diễn giải.

Khi tệp PHP được đọc, chỉ mã trong các thẻ khối PHP (<?php?>) được xem xét, phần còn lại được chuyển đến đầu ra. Vì vậy, một tập tin .html có thể được xử lý bởi trình thông dịch PHP, và sẽ không có gì xảy ra, HTML sẽ là đầu ra.

Nếu một số khu vực của tệp HTML có thẻ và mã PHP, nó sẽ được hiểu và có khả năng xuất một số dữ liệu ở những vị trí đó. Điều này có thể được coi là một mẫu. Thông thường đó là ý tưởng có một lớp đầu ra, và sau đó có nội dung động đi kèm với nó. Bạn có thể có một mẫu trang sản phẩm, và sau đó dựa trên một số biến đầu vào, chỉ điền một chi tiết sản phẩm/hình ảnh/etc vào mẫu.

Có các công cụ mẫu thực tế cho PHP (Smarty cho một .. http://www.smarty.net/) mà bạn có thể xem.

Tôi chưa bao giờ là người hâm mộ của họ, nhưng rất nhiều người tìm thấy thành công với nó.

9

Ngôn ngữ mẫu về cơ bản là ngôn ngữ cho phép xác định trình giữ chỗ mà sau này sẽ được thay thế cho mục đích triển khai thiết kế. Rõ ràng các ngôn ngữ mẫu hiện đại không chỉ hỗ trợ trình giữ chỗ, mà còn cả các vòng lặp và điều kiện thường cần thiết để thiết kế trang web. Một số thậm chí còn hỗ trợ các kỹ thuật nâng cao hơn nhưng vẫn hữu ích như thừa kế mẫu, macro và hộp cát.

Giới thiệu về PHP: Vì bản thân PHP có thể được nội suy thành HTML, nó có thể được sử dụng làm ngôn ngữ mẫu. Mặt khác PHP là khá tiết, đặc biệt là nếu các thẻ ngắn không được kích hoạt.

Công cụ tạo mẫu nhanh và nổi bật là Twig. Tôi muốn giới thiệu nó trên smarty. Nó cung cấp nhiều tính năng hơn (đáng chú ý nhất là mẫu thừa kế) và nhanh hơn.

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