12/08/2018, 14:38
Hướng dẫn sử dụng Smarty template P2
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 ...
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; ?> | {$$en_bien} |
Hiển thị biến GET,<br>_GET, <br>GET,<br>_POST, COOKIE,<br>_COOKIE, <br>COOKIE,<br>_SESSION |
<?php echo $_GET['page] ;?> <?php echo $_POST['page] ;?> <?php echo $_COOKIE['username'];?> <?php echo $_SESSION['id'];?> |
{smarty.get.page}<br>{smarty.post.page} {smarty.cookies.username}<br>{smarty.session.id} |
Hiển thị giá trị một phần của mảng | <?php echo ten_mang[vi_tri]?> | {$$en_mang[vi_tri]} |
Duyệt mảng dùng vòng lặp foreach | <?php foeach (tenmangasten_mang as tenmangasten_phan_tu){ ... } |
{foeach (tenmangasten_mang as tenmangasten_phan_tu} ... {/endforeach} |
if | <?php if(isset($name)){ ... }?> |
{if isset($$oo) } ... {/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="awidth=device-awidth"> <title>{block name=title }Home Page{/block}</title> </head> <body> </body> </html>
- Mypage.tpl kế thừa Home.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 !!