Hướng dẫn sử dụng Smarty template P1
Bài đăng này đã không được cập nhật trong 4 năm

-
Thường khi viết PHP theo hướng viết thuần thì mọi người khi viết code PHP chung với HTML việc này gây khó khăn trong việc bảo trì. Việc dùng template giúp code bạn dễ đọc hơn hữu ích trong môi trường làm việc nhóm. Một số template hỗ trợ encape giúp web thêm bảo mật.
-
Hiện nay có rất nhiều template như Blade trong laravel, Twig, Brainy, Yats, Smarty ... nhưng hôm nay mình xin giới thiệu Smarty một trong những template lâu đời nhất và rất được các
công ty Nhật ưa chuộng dùng.
1. Bắt đầu
-
Down thư viện Smarty mới nhất tại địa chỉ http://www.smarty.net/download
-
Tạo một thư mục để chứa ứng dụng và giải nén Smarty vào
-
Sau khi giải nén bạn vào sẽ thấy
liblàcorecủa template và folderdemotrong đó sẽ là cấu trúc smarty chúng ta cần quan tâm , trongdemocótemplateslà nơi chứa những view chúng ta cần làm việc.Ở trong bài mình sẽ tạo 1 thư mụcsmartyvà copylibvàdemovào. -
Tạo file index.php như sau để bắt đầu :
require_once '../smarty/libs/Smarty.class.php';
$smarty= new Smarty;
$smarty->debugging = false;
// $smarty->caching= false;
//$smarty->cache_lifetime = 60;
$smarty->setCompileDir('../smarty/templates_c/');
$smarty->setConfigDir('../smarty/configs/');
$smarty->setCacheDir('../smarty/cache/');
$smarty->setTemplateDir('..e/smarty/templates/');
Lưu ý: Caching nếu để là true thì khi load lại trang sẽ nhanh hơn vì đã lưu vào bộ nhớ đệm. cache_lifetime là thời gian tái tạo lại cache tính bằng phút. Sử dụng cachingcẩn thậnnếu là trang hay thay đổi mọi người không nên sử dụng hoặc để thời gian caching ngắn.
2. Biến
-
Vì code
PHPvàtemplatelà tách biệt lên khi muốn truyền biếnPHPqua template chúng ta sử dụngassign('name',value). Ví dụ trong fileindex.php. -
$smarty->displaychúng ta chọn view muốn hiển thị.
$name='kien';
$smarty->assign('name1',$name);
$smarty->display('user.tpl');
-
Như trên mình đã đề cập các file view chúng ta để trong
demo/templatesvà có đuổi là tpl . -
In biến ra
{$name1}file user.tpl
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Demo Smarty</title>
</head>
<body>
Hello {$name1} wellcome to Smarty
</body>
</html>
3. Một số phương thức định dạng cơ bản
-
{$tile|upper}viết hoa $title -
{$tile|lower}viết thường $title -
{$tile|capitalize}viết hoa đầu từ $title -
{$tile|strip_tags}Định dạng bỏ kí tự đặc biệt $title -
{$date|date_format}Định dạng ngày thàng $date
Qua phần 1 mình hy vọng mọi người đã hiểu về template cũng như Smarty. Phần tiếp theo mình sẽ hướng dẫn mọi người các câu lệnh nâng cao về smarty. Chúc mọi người vui vẻ !!
All rights reserved