+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
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí