VI. Tổ chức ứng dụng PHP
VI.2. Hệ thống template
VI.3. Quản lý output
VI.4. Quản lý lỗi
VI.5. Tối ưu hóa
VI.2. Hệ thống template
Trang Web có giao diện dễ thay đổi 1 tiêu chí rất
quan trọng
Nếu kết hợp mã HTML và PHP không tốt thì rất khó cho
người thiết kế giao diện và người lập trình làm việc với
nhau khả năng thay đổi giao diện khó khăn
Một phương pháp hiệu quả là sử dụng các file template
(.HTML được thiết kế từ các chương trình: DW,
FrontPage...). Các file template này thường không chứa
mã PHP mà chỉ có các thông tin dưới dạng quy ước
(thường là các tên gọi, giá trị được đặt theo 1 quy ước
nhất định, các giá trị này sẽ được thay thế khi chạy
chương trình bằng PHP)
VI.2. Hệ thống template (2)
<?php
$templatePath = "./templates/";
function MakeWebPageFromTemplate($templateName, $params)
{
global $templatePath;
$templateName = $templatePath . $templateName;
if ($f = fopen($templateName, "rt")) {
$templateContent = fread($f, filesize($templateName));
fclose($f);
}
$templateContent = str_replace(
"\"./", "\"" . $templatePath, $templateContent);
foreach ($params as $paramName=>$paramVal) {
$templateContent = str_replace(
$paramName, $paramVal, $templateContent);
}
return $templateContent;
}
?>
VI.3. Quản lý output
Thường thì các hàm ghi thông tin ra browser. Tuy nhiên có nhiều trường hợp
chúng ta không muốn như vậy.
Bạn có thể sử dụng vùng đệm ra (output buffer) để các lệnh ghi thông tin ghi dữ
liệu lên đó
Các hàm với output buffer: ob_start(), ob_get_length(), ob_get_contents(),
ob_flush(), ob_end_flush(); ob_end_clean()
<?php
ob_start();
phpinfo();
$phpinfo = ob_get_contents();
ob_end_clean();
if (strpos($phpinfo, "module_pdf") === FALSE) {
echo "You do not have PDF support in your PHP, sorry.";
} else {
echo "Congratulations, you have PDF support!";
}
?>
VI.4. Quản lý lỗi
VI.4.1. Thông báo lỗi
VI.4.2. Giấu lỗi
VI.4.3. Phát sinh lỗi
VI.4.4. Hàm xử lý lỗi