Trong những ngày đầu học PHP, bạn có thể viết toàn bộ HTML và PHP vào một file duy nhất, chạy được là vui rồi! Nhưng khi dự án lớn dần, giao diện có nhiều phần giống nhau như header, menu, footer… việc lặp đi lặp lại sẽ khiến bạn mệt mỏi, code rối rắm, sửa 1 chỗ quên chỗ khác.
Ở bài học này, chúng ta sẽ học cách chia nhỏ giao diện thành các file riêng biệt và sử dụng PHP để kết nối lại thành một trang web hoàn chỉnh. Đây là bước đầu để bạn viết code “giống người lớn” hơn đấy!
Tình huống thực tế
Bạn đang làm một website có nhiều trang: trang-chu.php, gioi-thieu.php, lien-he.php. Và ở mỗi trang bạn đều lặp lại phần:
<!DOCTYPE html>
<html>
<head>
<title>Website demo</title>
</head>
<body>
<header>
<h1>Trang web demo</h1>
<nav>
<a href="trang-chu.php">Trang chủ</a>
<a href="gioi-thieu.php">Giới thiệu</a>
<a href="lien-he.php">Liên hệ</a>
</nav>
</header>
Rồi cuối trang lại:
<footer>
<p>Bản quyền © 2025</p>
</footer>
</body>
</html>
Viết đi viết lại như vậy rất mất công và dễ sai sót.
Kỹ thuật chia file
1. Tạo các phần riêng biệt
header.php:
<!DOCTYPE html>
<html>
<head>
<title>Website demo</title>
</head>
<body>
<header>
<h1>Trang web demo</h1>
<nav>
<a href="trang-chu.php">Trang chủ</a>
<a href="gioi-thieu.php">Giới thiệu</a>
<a href="lien-he.php">Liên hệ</a>
</nav>
</header>
footer.php:
<footer>
<p>Bản quyền © 2025</p>
</footer>
</body>
</html>
2. Gọi trong các trang
Ví dụ trang-chu.php:
<?php include 'header.php'; ?>
<main>
<h2>Chào mừng bạn đến với trang chủ</h2>
<p>Nội dung chính sẽ ở đây...</p>
</main>
<?php include 'footer.php'; ?>
Tương tự, gioi-thieu.php và lien-he.php cũng chỉ cần thay phần <main> là xong!
Tại sao cách này tốt?
- Dễ bảo trì: Muốn sửa menu chỉ cần sửa 1 file.
- Gọn gàng, dễ đọc.
- Là nền tảng để làm các layout động sau này (dùng biến điều khiển tiêu đề trang, nội dung…)
Bonus: include vs require
include 'file.php': nếu file không tồn tại, vẫn tiếp tục chạy.require 'file.php': nếu file không tồn tại, báo lỗi và dừng luôn.- Dùng
include_oncehoặcrequire_onceđể đảm bảo không nhúng 2 lần.
Kết luận
Việc chia nhỏ file không chỉ giúp bạn đỡ mệt khi code, mà còn là bước đệm để xây dựng các template, layout động, hay thậm chí là template engine sau này. Hãy tập thói quen viết code chia tách rõ ràng, bạn sẽ cảm ơn chính mình trong tương lai đó!
Tiếp theo, ta sẽ học cách dùng hằng số và file config để cấu hình dự án chuyên nghiệp hơn.

Thảo luận