12/08/2018, 14:21

Hướng dẫn sử dụng Smarty template P1

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 ...

smarty-logo.jpg

  • 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 lib là core của template và folder demo trong đó sẽ là cấu trúc smarty chúng ta cần quan tâm , trong demo có templates 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 smarty và copy lib và demo 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/');
  • Lưu ý: 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 cẩn thận 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 PHP và template là tách biệt lên khi muốn truyền biến PHP qua template chúng ta sử dụng assign('name',value). Ví dụ trong file index.php.

  • $smarty->display 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/templates và có đuổi là tpl .

  • In biến ra {$name1} file user.tpl

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="awidth=device-awidth">
  <title>Demo Smarty</title>
</head>
<body>
    Hello {$name1} wellcome to Smarty
</body>
</html>

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

  • {$tile|upper} viết hoa $$itle

  • {$tile|lower} viết thường $$itle

  • {$tile|capitalize} viết hoa đầu từ $$itle

  • {$tile|strip_tags} Định dạng bỏ kí tự đặc biệt $$itle

  • {$date|date_format} Định dạng ngày thàng $$ate

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 nâng cao về smarty. Chúc mọi người vui vẻ !!

0