Share Sử dụng Smarty làm template engine trong PHP

filiallion

Administrator
Staff member
Administrator
Messages
585
Points
10
Language
Tiếng Việt
Nhắc đến template engine thì không thể nào không nhắc tới Smarty, một trong những template engine mạnh mẽ và được nhiều lập trình viên PHP sử dụng. Smarty ra đời từ lâu, trải qua nhiều phiên bản khác nhau với nhiều sự tinh chỉnh, bổ sung và tới thời điểm này đã có phiên bản Smarty 3.x. Khác với một số template engine khác, Smarty sẽ thực hiện biên dịch mã lệnh Smarty trong template ra tập lệnh PHP cho lần đầu tiên, các lần sau Smarty sẽ sử dụng lại các mã đã được biên dịch này, bằng cách này các bạn có thể vừa sử dụng được cú pháp gọn gàn của Smarty vừa có thể tận dụng tối đa tốc độ của PHP.

Với cách thức hoạt động của Smarty là biên dịch ra mã nguồn PHP nên giúp tắng tốc mã lệnh template rất tốt, ngoài ra còn có thể tận dụng các trình tăng tốc như APC hay Zend cache. Một điểm mạnh khác của Smarty đó là khả năng tương thích với bất kỳ ứng dụng PHP nào, các bạn lập trình viên dễ dàng tích hợp Smarty vào dự án của mình bằng những dòng lệnh PHP cơ bản.

Để sử dụng template engine Smarty, các bạn tải tại địa chỉ https://www.smarty.net/download và tích hợp vào dự án của các bạn với dòng mã lệnh PHP như sau:
PHP:
require 'path/to/Smarty.class.php';
Tiếp theo đó, các bạn sử dụng Smarty trong phần điều khiển ứng dụng như ví dụ sau:
PHP:
//Khởi tạo đối tượng smarty
$smarty = new Smarty();

//Khai báo các thiết lập
$smarty->setConfigDir('path/to/configs/');
$smarty->setTemplateDir('path/to/templates/');
$smarty->setCompileDir('path/to/compiles/');
$smarty->setCacheDir('path/to/cache/');

//Gán biến giá trị cho template
$smarty->assign('var', 'Value');

//Hiển thị template
$smarty->display('path/to/template.tpl');
Bây giờ, ở template các bạn sử dụng biến đã được gán như sau:
HTML:
<p>{$var}</p>
Các bạn có thể tìm hiểu thêm template engine Smarty tại địa chỉ https://www.smarty.net/docs/en.
 
Back
Top