Hàm API trong
thiết kế web bằng PHP
Khi bạn muốn tách biệt các phần khách - chủ, bạn sẽ có vài lựa chọn khác nhau, cụ thể là. Một cách là viết những hàm hiển thị nội dung linh động và đặt chúng đúng chỗ trong trang web của bạn.
Ví dụ cụ thể như sau cho thấy rõ điều đó:
index.php - phần khách
HTML
<?php include_once ("site.lib"); ?>
<html>
<head>
<title> <?php print_header (); ?> </title>
</head>
<body>
<h1> <?php print_header (); ?> </h1>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="25%">
<?php print_links (); ?>
</td>
<td>
<?php print_body (); ?>
</td>
</tr>
</table>
</body>
</html>
site.lib - phần chủ
Mã lệnh (PHP)
<?php
$dbh = mysql_connect ("localhost", "sh", "pass")
or die (sprintf ("Cannot connect to MySQL [%s]: %s", mysql_errno (), mysql_error ()));
@mysql_select_db ("MainSite")
or die (sprintf ("Cannot select database [%s]: %s", mysql_errno (), mysql_error ()));
$sth = @mysql_query ("SELECT * FROM site", $dbh)
or die (sprintf ("Cannot execute query [%s]: %s", mysql_errno (), mysql_error ()));
$site_info = mysql_fetch_object ($sth);
function print_header ()
{
global $site_info;
print $site_infheader;
}
function print_body ()
{
global $site_info;
print nl2br ($site_infbody);
}
function print_links ()
{
global $site_info;
$links = explode ("\n", $site_inflinks);
$names = explode ("\n", $site_inflink_names);
for ($i = 0; $i < count ($links); $i++)
{
print "\t\t\t <a xhref=\"$links[$i]\">$names[$i][/url] \n
\n";
}
}
?>
Các việc tách phần chủ làm cho dễ đọc trong chương trình, khi có các hàm API bạn sẽ dễ cho các thành viên thiết kế tham gia thay đổi bố cục mà không phải sửa mã
1.1. Lợi ích của hàm API
* Tương đối sáng sủa
* Nhanh, hầu như không lãng phí thời gian (overhead)
1.2. Bất lợi
* Không sáng sủa và dễ dàng bằng hệ thống mẫu (template system)
* Cần một ít kiến thức PHP để sửa mẫu
2. Hệ thống khuôn mẫu
Một cách khác để tách biệt khách chủ là dùng hệ thống khuôn mẫu. Nghĩa là, có một số đánh dấu nội dung sau đó dùng chương trình phân tích, thay thế các đánh dấu đó bằng thông tin cần thiết.
Thí dụ, bạn có thể tạo một tập tin như thế này:
HTML
<html>
<head>
<title>%%PAGE_TITLE%%</title>
</head>
<body %%BODY_PROPERTIES%%>
<h1>%%PAGE_TITLE%%</h1>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="25%">%%PAGE_LINKS%%</td>
<td>%%PAGE_CONTENT%%</td>
</tr>
</table>
</body>
</html>
Sau đó có thể viết chương trình phân tách tập tin, thay thế các thông tin trong dấu cách %% bằng các thông tin thích hợp.
Ghi chú: một lớp hỗ trợ hệ thống khuôn mẫu khá tốt là lớp FastTemplate, có ở URL is hidden from guests, please register and login to view the hyperlink
2.1. Ưu điểm của hệ thống khuôn mẫu
* Rất trong sáng
* Không cần kiến thức PHP để sửa khuôn mẫu
2.2. Nhược điểm
* Chậm hơn, bạn cần phân tách tập tin khuôn mẫu, sau đó xuất ra
* Việc hiện thực phức tạp hơn
Trên đây là các kiến thức về hàm API, chúc cho các bạn có được thêm kiến thức về PHP