Sử dụng template để thiết kế giao diện trong PHP

Trong bài viết này minh giới thiệu về cách dùng file .tpl. Đối với những ứng dụng viết cho nhiều người sử dụng (cụ thể là những website cần chỉnh sửa giao diện nhiều: forum phpbb). Với cách viết thông thường, mỗi lần thay đổi giao diện bạn sẽ phải sửa tòan bộ code, như vậy xác suất dẫn đến lỗi code rất cao chưa kể đến người sửa giao diện cần phải có hiểu biết về php mới sữa được. Nên đối với những ứng dụng này bạn nên viết theo kiểu template. Template là những file tạo giao diện cho website và thường độc lập vơi code. định dạng file thường dùng trong template là .tpl ( không bắt buộc, bạn có thể chọn đuôi khác miễn sao bạn thấy dễ dàng sử dụng là được). Khi đó cứ mỗi lần bạn thay đổi giao dịên chỉ cần edit lại các file .tpl là xong và vì nó không chứa các mã PHP nên bạn không cần phải là người rành về php mới sửa được như vậy ứng dụng của bạn sẽ được phổ biến rộng hơn.
Để dễ hiểu tôi sẽ tạo một ví dụ sử dụgn template đơn giản để dễ hiểu:
VD:
Bạn có một website in các ngày hiện hành:

file calender.php có nội dung như sau:

<?
$ngay = $_GET[‘date’];
print “Hôm nay là ngày:”.$ngay;
?>


Khi gọi calender.php?date=04-09-2006 thì kết quả sẽ là :
Hôm nay ngày: 04-09-2006
Đây là cách viết thông thường, giả sử bây giờ bạn muôn thêm câu “Welcome to thietkeso.vn” dười dòng “Hôm nay ngày 04-09-2006”
Bạn sẽ sửa lại file calender.php như sau:

<?
// kết nối cơ sở dữ liệu
$ngay = $_GET[‘date’];
print “Hôm nay là ngày:”.$ngay;
print “Welcome to thietkeso.vn”;
?>


hoặc là

<?
// kết nối cơ sở dữ liẹu
$ngay = $_GET[‘date’];
print “Hôm nay là ngày:”.$ngay;
?>
Welcome to thietkeso.vn

Ở đây chỉ có một dòng code nên bạn dễ dàng edit , bạn thử nghĩ nếu nó là một ứng dụng thì bạn sẽ tìm chỗ để thêm câu đó vào cũng là một vấn đề chưa kể xác suất gây ra lỗi rất cao và càng khó khăn hơn cho những ngừơi không rành về php.

Để giải quyết bạn viết theo kiểu template như sau:
tạo 2 file riêng rẽ, một file code .php và một file giao diện .tpl

tạo file giao dien template.tpl như sau:

<html>
<body>
Hôm nay là ngày: $ngay
Welcome to thietkeso.vn
</body>
</html>

file code calender.php có nội dung như sau:

<?
$ngay = $_GET[‘date’];
$file = file_get_contents(“template.tpl”); //đọc nội dung file .tpl
print str_replace(‘$ngay’,$date,$file); // tìm và thay thế chữ $ngay trong file .tpl bằng biến $ngay trong file calender.php
?>

Kết quả của file calender.php này khi xem trên trình duyệt cũng giống như là dùng kiểu bình thường , nhưng bây giờ bạn muốn edit lại giao diện bạn chỉ cần sữa lại file .tpl và chỉ cần giữ lại chữ $ngay là được, như vậy một người không biết về code cũng có thể edit được nội giao diện của ứng dụng.

Đây là ví dụ đơn giản để bạn phần nào hiểu được nó.

Chúc bạn thành công

FOLLOW US

Leave a Reply

Your email address will not be published. Required fields are marked *