+2

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 .
    • ...
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
GET,<br>_GET, <br>_POST,
COOKIE,<br>_COOKIE, <br>_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ừ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 !!

All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.