• Trang chủ
  • Giới thiệu
  • Liên hệ

Thư viện thiết kế web
Lập trình web php, asp ...

Thiết kế web cơ bản

  • Nguyên tắc thiết kế
  • Lý thuyết màu sắc
  • Hướng dẫn HTML
  • Hướng dẫn CSS
  • Học XML

Lập trình web

  • Lập trình PHP
  • Mã nguồn PHP
  • Lập trình ASP
  • Javascript
  • Ajax

Đồ họa thiết kế web

  • Photoshop & Đồ họa khác
  • Sửa ảnh trực tuyến
  • Đồ họa 3D

Mẫu thiết kế web

  • Web thương mại
  • Du lịch & Khách sạn
  • Mẫu khác

Công cụ web

  • Kiểm tra tên miền
  • Kiểm tra ranking web
  • Sửa ảnh trực tuyến

Tag Cloud

3dsMax background Bản đồ Bản đồ html Bản đồ hình ảnh cau truc cau truc html Css cài đặt câu lệnh dinh dang html dấu nháy đôi font chữ form Giới thiệu Hiển thị RSS Feeds Hiệu ứng Javascript HTML HTML cơ bản HTML Elements học html học php Hỏi đáp icon lien ket html login login form Mã nguồn mở mầu sắc Mẫu web ấn tượng Open Source RSS Feeds Server Side Includes text thiết kế layout với photoshop thiết kế web Thuộc tính của HTML tiêu đề web trang web hấp dẫn Tùy biến sàn gỗ vi du php Văn bản html web thân thiện đoạn html định vị chính xác

Web links

  • Dich vu SEO
  • Thiết kế web SEO
  • Công cụ SEO

Home > Lập trình PHP, Mã nguồn PHP > Lập trình PHP bằng công nghệ template

Lập trình PHP bằng công nghệ template

Mục: Lập trình PHP, Mã nguồn PHP   Tags: Tags: xu li template tren asp

PHP là một ngôn ngữ lập trình hướng template. Thật tế thì ta đã có thể lập trình tách biệt giao diện và phần xử lý của PHP rất tốt rồi, tuy nhiên các nhà lập trình PHP vẫn chưa dừng lại, họ muốn một sự tách biệt thật rõ ràng và thế là các lớp xử lý template và nhất là smarty đã ra đời để đáp ứng nhu cầu đó.
Hôm nay tôi muốn giới thiệu đến các bạn cách sử dụng một lớp dùng để lập trình template trong PHP: xtemplate. Ngoài ra, tôi cũng demo và giải thích cho các bạn các ví dụ trong phần docs của gói nầy.
Bạn vào trang http://sourceforge.net/projects/xtpl/ download gói xtemplate về.
Đầu tiên bạn tạo một thư mục web là test. Sau đó bạn giải nén gói xtemplate và chép file xtemplate.class.php vào thư mục test.
Bây giờ bắt đầu ví dụ thui ;) ok ?
ví dụ 1:
Bạn chép file ex1.xtpl và file ex2.php vào thư mục test. Sau đó mở trình duyệt và mở file ex1.php
Trang web sẽ xuất ra như sau:

This is a simple replace test. the text in bold should contain “TEST”: TEST
now a dynamic block test:
this is block 1.

id 38
name cocomp
age 33

global variables can be parsed directly into the html without assigns:
$_SERVER['HTTP_HOST']=localhost
$_SERVER['PHP_SELF']=/test/ex1.php
$_SERVER['HTTP_USER_AGENT']=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20061201 Firefox/2.0.0.4 (Ubuntu-feisty)
etc..
(note that these variables are scanned in the constructor when creating the XTemplate object! so if you need some variables which you have set after creating the template object, you need to call $xtpl->scan_globals() before parsing the actual block!

Bạn hãy xem nội dung file template : ex1.xtpl
<!– BEGIN: main –>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title>example 1</title>
<meta http-equiv=”Content-Language” content=”en” />
<meta name=”GENERATOR” content=”Co-Comp Ltd” />
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
</head>
<!– $HeadURL: https://xtpl.svn.source…root/xtpl/trunk/ex1.xtpl $
$Id: ex1.xtpl 16 2007-01-11 03:02:49Z cocomp $ –>
<body>
<p>This is a simple replace test. the text in bold should contain “TEST”: <b>{VARIABLE}</b><br />
now a dynamic block test:<br />
<!– BEGIN: block1 –>
this is block 1.<br />
<!– END: block1 –>
<!– BEGIN: block2 –>
this is block 2.<br />
<!– END: block2 –>
</p>
<!– BEGIN: block3#You can comment a block like this –>
<table border=”1″>
<tr>
<td>id</td>
<td>{DATA.ID}</td>
</tr>
<tr>
<td>name</td>
<td>{DATA.NAME#You can comment tags like this}</td>
</tr>
<tr>
<td>age</td>
<td>{DATA.AGE}</td>
</tr>
</table>
<!– END: block3#Or comment it here too –>
<p><br />
global variables can be parsed directly into the html without assigns:<br />
$_SERVER['HTTP_HOST']={PHP._SERVER.HTTP_HOST}<br />
$_SERVER['PHP_SELF']={PHP._SERVER.PHP_SELF}<br />
$_SERVER['HTTP_USER_AGENT']={PHP._SERVER.HTTP_USER_AGENT}<br />
etc..<br />
(<span >note</span> that these variables are scanned in the constructor when creating the XTemplate object!
so if you need some variables which you have set after creating the template object, you need to call <b>$xtpl->scan_globals()</b>
before parsing the actual block!</p>
</body>
</html>
<!– END: main –>

Đầu tiên là block main (begin và end của nó bao trùm hết cả template, bạn hãy nhìn vào đầu và cuối file template nầy), nhân viên thiết kế giao diện phải làm theo đúng định dạng nầy. Để comment cho nhân viên lập trình biết block đó để làm gì và sẽ gán biến gì vào đó nhân viên thiết kế có thể comment bằng cách thêm dấu # và nội dung comment ngay sau đó.
Trong block main sẽ có thể có các block con, ở đây là block1, block2 và block3. Ngoài ra nó còn có các biến sẽ hiển thị và phần gán giá trị cho các biến nầy sẽ được file ex1.php lo ;)
Bạn hãy xem nội dung file source: ex1.php
//đầu tiên là phải include lớp xử lý template vào.
include_once(’./xtemplate.class.php’);
//tạo một đối tượng template
$xtpl = new XTemplate(’ex1.xtpl’);
// ta muốn gán biến VARIABLE trong block mail là TEST. Như các bạn đã thấy trên phần kết
//quả kết xuất trên trình duyệt
$xtpl->assign(’VARIABLE’, ‘TEST’);
// Bây giờ parse block1. block1 đơn giản chỉ là một chuỗi html: this is the block1
$xtpl->parse(’main.block1′);
// bạn bỏ dấu // ở dòng tiếp theo để parse block2 kết quả y chang khi parse block1
//$xtpl->parse(’main.block2′);
/**
* Bạn có thể xuất một mảng trong template bằng cách sau:
* {DATA.ID} hay {DATA.NAME} hay {DATA.AGE}
* Chúng ta có thể truy cập cơ sở dữ liệu để có các giá trị nầy: ID, NAME, AGE
*/
$row = array(’ID’=>’38′,
‘NAME’=>’cocomp’,
‘AGE’=>’33′
);
//gán giá trị cho biến DATA sẽ được thể hiện trong block3
$xtpl->assign(’DATA’,$row);
// parse block3
$xtpl->parse(’main.block3′);
//cuối cùng parse block main
$xtpl->parse(’main’);
$xtpl->out(’main’);

Chú ý rằng ta sẽ parse các block theo thứ tự từ trong ra ngoài, nếu ta parse block ngoài mà chưa parse block trong thì sẽ không thể hiện block trong được.

Thế là xong ví dụ 1.
Hi vọng bạn có thể hiểu và áp dụng cho trang web của mình. Phần sau mình sẽ ví dụ cho phần hiển thị một bảng (table). Về phần áp dụng rất đơn giản. Trong trang web của bạn, có một phần , giả dụ là form login nhé ! ở phần hiển thị form login nầy bạn đơn giản chèn đoạn code xử lý template mong muốn vào, thế là xong. Tất nhiên file template (file giao diện) đã được bạn thiết kế.

Nguồn: http://nhakhtn.blogspot.com

Chia sẻ web này tại: Digg this post Bookmark to delicious Stumble the post Add to your technorati favourite Subscribes to this post
« Vòng lặp For, foreach - The for Loop, foreach
Hàm Trong PHP »
Copyright © 2009 Thư viện thiết kế web, Android Việt Nam, công ty phần mềm