Hướng dẫn sử dụng Smarty template P2
Bài đăng này đã không được cập nhật trong 7 năm
Tiếp tục phần 1 đã giới thiệu qua biến và một số phương thức cơ bản bài này mình xin được tiếp tục
1. Một số cú pháp cơ bản smarty.
- Smarty hỗ trợ một vài cú pháp lập trình nâng cao , bao gồm :
- Biến, hằng
- If, elseif, else
- Điều khiển luồng dữ liệu, foreach.
- Hàm do người dùng địnhn nghĩa .
- ...
Nội dung | PHP | Smarty |
---|---|---|
Mở và đóng thẻ | <?php ?> | {} |
Ghi chú | //Ghi chú một dòng hoặc /* ghi chú nhiều dòng */ | {* ghi chú một hoặc nhiều dòng*} |
Hiển thị biến | <?php echo $ten_bien; ?> | {$ten_bien} |
Hiển thị biến _POST, _SESSION |
<?php echo $_GET[''page] ;?> <?php echo $_POST[''page] ;?> <?php echo $_COOKIE['username'];?> <?php echo $_SESSION['id'];?> |
{$smarty.get.page} {$smarty.post.page} {$smarty.cookies.username} {$smarty.session.id} |
Hiển thị giá trị một phần của mảng | <?php echo ten_mang[vi_tri]?> | {$ten_mang[vi_tri]} |
Duyệt mảng dùng vòng lặp foreach | <?php foeach ($ten_mang as $ten_phan_tu){ ... } |
{foeach ($ten_mang as $ten_phan_tu} ... {/endforeach} |
if | <?php if(isset($name)){ ... }?> |
{if isset($foo) } ... {/if} |
2. Caching - bộ nhờ đệm
- Bộ nhớ đệm được sử dụng để tăng tốc độ gọi display() hoặc fetch() bằng cách lưu output vào file.
- Nếu có một phiên bản được cache thì nó sẽ hiển thị thay vì regenerating.
- Caching có thể tăng tốc độ trang lên rất nhiều, đặc biệt ddooid với template có thời gian tính toán dài
Lưu ý
: template nào đang được cached và caching trong bao lâu.- Vị dụ ta hiển thị home page mà không thay đổi nội dung thường xuyên thị ta có thể cache trong 1, 2 giờ hoặc lâu hơn. Nếu là trang tin tức thay đổi nội dung thường xuyên thì không nên dùng cache
2.1 Thiết lập cache
- Bằng cách đặt caching caching = 1 hoặc bằng 2
- Khi caching = 1
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = 1;
$smarty->display('index.tpl');
?>
-> Sẽ thiệt lập thời gian mặc định caching.
- Khi caching = 2
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = 2;
// thiết lập cache chi trang index là 5 phút.
$smarty->cache_lifetime = 300;
$smarty->display('index.tpl');
?>
3. Kế thừa template
Ta có trang view home.tpl
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>{block name=title }Home Page{/block}</title>
</head>
<body>
</body>
</html>
Mypage.tpl
kế thừaHome.tpl
ta cóblock
giống như một biến giữa block giá trị mặc định. Hàm kế thừa ta có thể thay đổi nội dung.
{extends file=''Home.tpl"}
{block name=title }My Page{/block}
- Qua bài này mình hy vọng các bạn đã hiểu về
Smaty
. Chúc mọi người thành công trên con đường lập trình !!
All rights reserved