Hướng dẫn tpl file in php - tập tin tpl trong php

Hướng dẫn tpl file in php - tập tin tpl trong php

Đã đăng vào thg 12 19, 2016 8:49 SA 2 phút đọc 2 phút đọc

Hướng dẫn tpl file in php - tập tin tpl trong php

  • 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 libcore của template và folder

        $name='kien';
        $smarty->assign('name1',$name);
        $smarty->display('user.tpl');
    
    0 trong đó sẽ là cấu trúc smarty chúng ta cần quan tâm , trong
        $name='kien';
        $smarty->assign('name1',$name);
        $smarty->display('user.tpl');
    
    0 có
        $name='kien';
        $smarty->assign('name1',$name);
        $smarty->display('user.tpl');
    
    2 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ục
        $name='kien';
        $smarty->assign('name1',$name);
        $smarty->display('user.tpl');
    
    3 và copy lib
        $name='kien';
        $smarty->assign('name1',$name);
        $smarty->display('user.tpl');
    
    0 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/');
  •     $name='kien';
        $smarty->assign('name1',$name);
        $smarty->display('user.tpl');
    
    6: 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 caching
        $name='kien';
        $smarty->assign('name1',$name);
        $smarty->display('user.tpl');
    
    7 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

        $name='kien';
        $smarty->assign('name1',$name);
        $smarty->display('user.tpl');
    
    8 và
        $name='kien';
        $smarty->assign('name1',$name);
        $smarty->display('user.tpl');
    
    9 là tách biệt lên khi muốn truyền biến
        $name='kien';
        $smarty->assign('name1',$name);
        $smarty->display('user.tpl');
    
    8 qua template chúng ta sử dụng
    
    
    
      
      
      Demo Smarty
    
    
        Hello {$name1} wellcome to Smarty
    
    
    
    1. Ví dụ trong file
    
    
    
      
      
      Demo Smarty
    
    
        Hello {$name1} wellcome to Smarty
    
    
    
    2.

  • 
    
    
      
      
      Demo Smarty
    
    
        Hello {$name1} wellcome to Smarty
    
    
    
    3 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 Smarty
    
    
        Hello {$name1} wellcome to Smarty
    
    
    
    4 và có đuổi là tpl .

  • In biến ra

    
    
    
      
      
      Demo Smarty
    
    
        Hello {$name1} wellcome to Smarty
    
    
    
    5 file user.tpl




  
  
  Demo Smarty


    Hello {$name1} wellcome to Smarty


3. Một số phương thức định dạng cơ bản

  • 
    
    
      
      
      Demo Smarty
    
    
        Hello {$name1} wellcome to Smarty
    
    
    
    6 viết hoa $title

  • 
    
    
      
      
      Demo Smarty
    
    
        Hello {$name1} wellcome to Smarty
    
    
    
    7 viết thường $title

  • 
    
    
      
      
      Demo Smarty
    
    
        Hello {$name1} wellcome to Smarty
    
    
    
    8 viết hoa đầu từ $title

  • 
    
    
      
      
      Demo Smarty
    
    
        Hello {$name1} wellcome to Smarty
    
    
    
    9 Định dạng bỏ kí tự đặc biệt $title

  • caching = 1;
    $smarty->display('index.tpl');
    ?>
    
    0 Đị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

caching = 1;
$smarty->display('index.tpl');
?>
1. Chúc mọi người vui vẻ !!

All rights reserved

Hướng dẫn tpl file in php - tập tin tpl trong php

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 phú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
PHPSmartyMở và đóng thẻ
{} {$ten_mang[vi_tri]} 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
{$ten_bien} {$ten_mang[vi_tri]} Hiển thị biến GET,_GET, _POST, COO KIE,_COOKIE, _SESSION
Ghi chú
GET,
_GET,
_POST,
COO KIE,
_COOKIE,
_SESSION
{$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
{$smarty.post.page}
{$smarty.cookies.username}
{$smarty.session.id}
Hiển thị biến {$ten_mang[vi_tri]} Duyệt mảng dùng vòng lặp foreach
Ghi chú {foeach ($ten_mang as $ten_phan_tu}...{/endforeach}
foeach ($ten_mang as $ten_phan_tu){
...
}
if
...
{/endforeach}
{if isset($foo) } ... {/if} {$ten_mang[vi_tri]}
if(isset($name)){
...
}?>
2. Caching - bộ nhờ đệm
...
{/if}

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
  •     $name='kien';
        $smarty->assign('name1',$name);
        $smarty->display('user.tpl');
    
    6: 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
  • -> Sẽ thiệt lập thời gian mặc định caching.
caching = 1;
$smarty->display('index.tpl');
?>

Khi caching = 2

  • Khi caching = 2
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

caching = 1;
$smarty->display('index.tpl');
?>
3

 


  
  
  {block name=title }Home Page{/block}





  • caching = 1;
    $smarty->display('index.tpl');
    ?>
    
    4 kế thừa
    caching = 1;
    $smarty->display('index.tpl');
    ?>
    
    5 ta có
    caching = 1;
    $smarty->display('index.tpl');
    ?>
    
    6 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ề
    caching = 1;
    $smarty->display('index.tpl');
    ?>
    
    7. Chúc mọi người thành công trên con đường lập trình !!

All rights reserved