TWIG bộ máy xử lý mẫu web tốt nhất cho dự án PHP

1. Template engine là gì?

Template engine còn gọi là bộ máy xử lý mẫu trang web là một phần mềm giúp kết hợp các mẫu trang web với các thành phần dữ liệu liên quan tạo thành một tài liệu theo các định dạng mong muốn như HTML, XML.

2. Twig là gì?

Twig là một cơ chế giúp xây dựng các mẫu (template) trong ngôn ngữ PHP, nó giúp tách biệt việc hiển thị và xử lý dữ liệu. Twig được viết bởi các lập trình viên Symfony. MVC là một pattern kiến trúc được xử dụng ở hầu hết các framework PHP hiện nay, nó giúp tách biệt code thành các thành phần Model, View, Controller và trong View, nếu xử dụng Twig bạn sẽ thấy code ngắn gọn, xúc tích dễ đọc và dễ bảo trì. (Xem thêm MVC - Pattern cần có cho mọi framework PHP, chúng ta sẽ sử dụng lại một số ví dụ có trong bài viết này).

Chúng ta cùng xem một ví dụ nhỏ ở trang chủ Twig như sau:

Đơn giản là in giá trị biến $var ra màn hình theo những cách thức khác nhau, với PHP thuần túy, chúng ta thấy nó khá dài dòng, với Twig có thể viết lại như sau:

{{ var }}

{{ var|e }} Nhìn rất ngắn gọn đúng không, như vậy khi code chúng ta phải gõ ít hơn, đọc code cũng dễ dàng hơn giúp việc bảo trì mã nguồn cũng đơn giản hơn rất nhiều. Twig sử dụng {{ }} để in nội dung bên trong, {% %} cho các xử lý logic như if-then-else, for... và {# #} để đưa comment vào đoạn mã. Nếu bạn đã biết về Laravel Blade, một cơ chế xây dựng template trong framework Laravel thì Twig là một thứ tương tự. Vậy tại sao chúng ta cần tìm hiểu về Twig trong khi Laravel đã có sẵn Laravel Blade? Câu trả lời sẽ có ở cuối bài viết này.

3. Tại sao dùng Twig

Template engine hay template processor là thư viện được thiết kế để kết hợp các template với data model tạo ra các trang nội dung động. Template engine thường sử dụng cho thiết kế nội dung email, hoặc tạo ra các nội dung động trên web... Khi tạo ra một template có hai phần: phần nội dung tĩnh và phần nội dung động. Nội dung động được thay thế bởi dữ liệu ở thời điểm yêu cầu và chức năng kết xuất sẽ kết hợp template với dữ liệu.

Twig là một template engine rất mềm dẻo, nhanh và bảo mật cho ngôn ngữ lập trình PHP.

Nhanh: Twig biên dịch các template thành mã thuần PHP và được tối ưu hóa tối đa, khi có các yêu cầu nội dung sẽ được dẫn đường sang các nội dung đã được biên dịch lưu trong cache, do vậy tốc độ có thể nói là nhanh hơn so với cả các viết mã PHP thuần túy. Bảo mật: Twig có chế độ sandbox để đánh giá xem mã trong template có đáng tin cậy hay không. Điều này giúp cho Twig có thể được sử dụng như một ngôn ngữ template cho các ứng dụng. Người dùng thường có thể thay đổi được giao diện thông qua thiết kế template mà không can thiệp được sâu vào phần lõi hệ thống. Linh hoạt: Twig được cung cấp một bộ parser và bộ nhận dạng chữ rất linh hoạt, do vậy lập trình viên hoàn toàn có thể định nghĩa các thẻ và bộ lọc riêng. Twig được sử dụng bởi rất nhiều các framework PHP như Symfony, Yii, Laravel, Codeigniter cũng như các ứng dụng CMS như Drupal, eZPublish, phpBB, OroCRM... Nếu bạn có ý định triển khai một ứng dụng cho phép người dùng có thể tự thiết kế giao diện thông qua xây dựng các template thì Twig là một lựa chọn tốt nhất hiện nay.

template engine 3 twig template 1
FirebirD AZ Tutorials Network

Đam mê lập trình, muốn chia sẻ kiến thức với mọi người

- of 0

Không bình luận, chỉnh sửa được: Bạn cần phải đăng nhập.