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

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

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 … trong bài này 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 trên thế giới ưa chuộng

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,
_POST,
_COOKIE,
_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]?> {$$en_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($$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 đối 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.

Xem bài viết đầy đủ tại http://www.daipho.com

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 = 1 hoặc bằng 2

Khi caching = 1

<?php
	require('Smarty.class.php');
	$smarty = new Smarty;
	$smarty->caching = 1;
	$smarty->display('index.tpl');
?>
Xem bài viết đầy đủ tại http://www.daipho.com

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>
Xem bài viết đầy đủ tại http://www.daipho.com

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}

Xem bài viết đầy đủ tại http://www.daipho.com

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

Các tính năng mặc định của trang web

Các trang web được Đại Phố thiết kế luôn mặc định các tính năng sau:

  • Mã nguồn được tối ưu với các công cụ tìm kiếm.
  • Trang web hỗ trợ thiết bị di động, tương thích với mọi thiết bị: điện thoại, máy tính bảng, máy tính và laptop. Sử dụng công nghệ HTML5, CSS3 Mobile Responsive.
  • Dễ dàng thay đổi theo phong cách riêng của bạn.
  • Dễ dàng thêm bớt số lượng các trang, và chỉnh sửa nội hiển thị trên website tùy ý
  • Phần quản trị rõ ràng, trực quan, dễ sử dụng với cả những người không chuyên về IT.

Quản lí nội dung: có thể dễ dàng thêm, xóa, sửa các thông tin trên website

  • Thông tin sản phẩm và dịch vụ của công ty
  • Thông tin dự án, đối tác Giới thiệu – Liên hệ
  • Thông tin giới thiệu, thông tin liên hệ
  • Tin tức
  • Hình ảnh trên website, sửa các tag alt, descriotion, caption
  • Hình ảnh và caption trên Slideshow
Xin vui lòng liên hệ với chúng tôi nếu cần thêm thông tin
trang web có chức năng quản trị dễ sử dụng nhất,