Hướng dẫn sử dụng Smarty template P1
Bài đăng này đã không được cập nhật trong 3 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
lib
làcore
của template và folderdemo
trong đó sẽ là cấu trúc smarty chúng ta cần quan tâm , trongdemo
cótemplates
là 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ụcsmarty
và copylib
vàdemo
và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ận
nế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
PHP
vàtemplate
là tách biệt lên khi muốn truyền biếnPHP
qua template chúng ta sử dụngassign('name',value)
. Ví dụ trong fileindex.php
. -
$smarty->display
chú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/templates
và 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