Tái sử dụng code — Xây dựng website chuyên nghiệp
Sau khi hoàn thành CRUD ở bài 27, chúng ta đã có một website PHP cơ bản.
Nhưng có một vấn đề:
❌ Mỗi trang phải viết lại:
Kết nối database
Menu
Header
Footer
Code dùng chung
Ví dụ:
$conn = mysqli_connect(
"localhost",
"root",
"",
"php_basic"
);
Nếu có 50 trang web?
😱 Phải copy 50 lần!
PHP giải quyết vấn đề này bằng:
📦 include
📦 require
1️⃣ Include là gì?
include dùng để nhúng một file PHP khác vào file hiện tại.
Cú pháp:
include "tenfile.php";
Ví dụ:
File:
config.php
<?php
$name = "PHP 8.2";
?>
File:
index.php
<?php
include "config.php";
echo $name;
?>
Kết quả:
PHP 8.2
2️⃣ Require là gì?
require cũng giống include.
Nhưng khác nhau ở cách xử lý lỗi.
Ví dụ:
require "config.php";
Nếu file tồn tại:
✅ Chạy bình thường
Nếu file bị mất:
require
⛔ Dừng toàn bộ chương trình
3️⃣ So sánh Include và Require
| 🔢 | Lệnh | Khi lỗi | Sử dụng |
|---|---|---|---|
| 1️⃣ | include | Cảnh báo nhưng chạy tiếp | File không quá quan trọng |
| 2️⃣ | require | Dừng chương trình | File bắt buộc |
Ví dụ:
Database:
require "config.php";
Vì không có database:
Website không thể chạy.
4️⃣ include_once & require_once
Vấn đề:
Có thể gọi file nhiều lần.
Ví dụ:
include "config.php";
include "config.php";
Có thể gây lỗi:
Cannot redeclare
Giải pháp:
include_once "config.php";
hoặc:
require_once "config.php";
PHP chỉ load 1 lần.
5️⃣ Tách cấu trúc website
Website thường chia:
website/
│
├── config.php
│
├── includes/
│
├── header.php
├── menu.php
├── footer.php
│
├── index.php
├── about.php
6️⃣ Tạo Header dùng chung
File:
includes/header.php
<!DOCTYPE html>
<html>
<head>
<title>
Website PHP
</title>
</head>
<body>
<h1>
My Website
</h1>
7️⃣ Tạo Menu
File:
includes/menu.php
<nav>
<a href="index.php">
Trang chủ
</a>
<a href="about.php">
Giới thiệu
</a>
<a href="contact.php">
Liên hệ
</a>
</nav>
8️⃣ Tạo Footer
File:
includes/footer.php
<footer>
<p>
Copyright 2026
</p>
</footer>
</body>
</html>
9️⃣ Gọi vào trang chính
File:
index.php
<?php
include "includes/header.php";
include "includes/menu.php";
?>
<h2>
Trang chủ
</h2>
<p>
Nội dung website
</p>
<?php
include "includes/footer.php";
?>
Kết quả:
----------------
My Website
Trang chủ | Giới thiệu | Liên hệ
Trang chủ
Nội dung website
Copyright 2026
----------------
🔟 Include trong CRUD bài 27
Trước đây:
Mỗi file:
index.php
create.php
edit.php
delete.php
đều:
include "config.php";
Bây giờ có thể:
includes/
├── database.php
├── header.php
├── footer.php
Sạch hơn.
Dễ bảo trì hơn.
🧠 Kiến thức quan trọng
include
Dùng cho:
✅ Header
✅ Footer
✅ Menu
✅ File giao diện
require
Dùng cho:
✅ Database
✅ File cấu hình
✅ Class quan trọng
*_once
Dùng khi:
✅ Không muốn load trùng file
🎯 Bài tập thực hành
Tạo website:
my-blog/
│
├── config.php
├── index.php
│
└── includes/
header.php
menu.php
footer.php
Yêu cầu:
✅ Header dùng chung
✅ Menu dùng chung
✅ Footer dùng chung
✅ Kết nối database bằng require_once
🏆 Sau bài 28 bạn hiểu được:
✅ Tái sử dụng code PHP
✅ Tổ chức source code
✅ Xây dựng layout website
✅ Chuẩn bị bước vào PHP chuyên nghiệp
➡️ Bài tiếp theo:
🐘 Bài 29 — Làm menu/header/footer động
Biến website PHP thành hệ thống layout thật.
x0




Không có nhận xét nào:
Đăng nhận xét