Cài đặt XAMPP & tổ chức mã nguồn PHP
Từ bài này, chúng ta chuyển từ lý thuyết sang thực hành: cài môi trường chạy PHP trên máy tính cá nhân bằng XAMPP, và học cách tổ chức thư mục mã nguồn cho một dự án PHP ngay từ đầu để dễ bảo trì về sau.
XAMPP là gì?
XAMPP là một gói phần mềm đóng gói sẵn gồm 4 thành phần cần thiết để chạy PHP trên máy tính của bạn mà không cần cài từng cái riêng lẻ:
- X — chạy được trên đa nền tảng (Windows, Linux, macOS)
- Apache — web server (đã học ở bài 3), lắng nghe request và trả response
- MySQL / MariaDB — hệ quản trị cơ sở dữ liệu (đã học ở bài 6)
- PHP — ngôn ngữ lập trình phía server (đã học ở bài 7)
- Kèm theo phpMyAdmin — giao diện web để quản lý MySQL bằng tay không cần gõ lệnh SQL trực tiếp
Cài đặt trên Windows
- Tải bộ cài XAMPP cho Windows từ trang chủ chính thức apachefriends.org.Chọn đúng phiên bản PHP mà môn học yêu cầu (nếu có)
- Chạy file cài đặt, giữ nguyên các thành phần mặc định (Apache, MySQL, PHP, phpMyAdmin) rồi Next liên tục.Nếu Windows Firewall hỏi, chọn "Allow access"
- Cài vào thư mục mặc định.C:\xampp
- Mở "XAMPP Control Panel", nhấn Start ở dòng Apache và dòng MySQL.Cả hai dòng chuyển sang nền xanh là đã chạy thành công
- Mở trình duyệt, gõ địa chỉ kiểm tra. Thấy trang chào mừng của XAMPP tức là Apache + PHP đã hoạt động.http://localhost
htdocs — nơi đặt toàn bộ mã nguồn
Apache chỉ phục vụ được những file nằm trong một thư mục gốc quy định sẵn, gọi là document root. Với XAMPP trên Windows, thư mục đó là:
C:\xampp\htdocs
Mọi dự án PHP bạn làm đều phải nằm bên trong htdocs, mỗi dự án là một thư mục con. Ví dụ tạo dự án tên baitap-01:
C:\xampp\htdocs\baitap-01\
Sau đó truy cập dự án qua trình duyệt bằng tên thư mục đó, không phải đường dẫn file trên ổ đĩa:
http://localhost/baitap-01/
Tổ chức thư mục mã nguồn cho một dự án
Ngay từ dự án đầu tiên, nên tách file theo vai trò thay vì dồn hết vào một thư mục — sẽ dễ tìm, dễ mở rộng và dễ bảo trì hơn rất nhiều khi dự án lớn dần.
baitap-01/ ├── index.php // trang chủ, điểm vào của website ├── config/ │ └── database.php // thông tin kết nối CSDL (host, user, pass) ├── includes/ │ ├── header.php // phần đầu trang, lặp lại ở mọi trang │ └── footer.php // phần chân trang, lặp lại ở mọi trang ├── pages/ │ ├── lien-he.php │ └── san-pham.php └── assets/ ├── css/style.css ├── js/main.js └── img/
- index.php — trang khách truy cập đầu tiên khi vào tên miền/thư mục dự án
- config/ — chỉ chứa thông tin cấu hình (VD: kết nối database), tách riêng để không lẫn với logic hiển thị
- includes/ — những phần PHP dùng lại nhiều lần (header, footer, menu…), tránh copy-paste HTML ở mọi trang
- pages/ — các trang nội dung riêng lẻ của website
- assets/ — toàn bộ file tĩnh: CSS, JavaScript, hình ảnh
Ví dụ: kết nối các phần lại trong index.php
<?php require_once 'includes/header.php'; ?> <h1>Trang chủ</h1> <p>Nội dung chính của trang.</p> <?php require_once 'includes/footer.php'; ?>
require_once chèn nội dung một file PHP khác vào đúng vị trí đó — đây là cách ghép header/footer dùng chung mà không phải chép lại HTML ở từng trang.
Quản lý cơ sở dữ liệu bằng phpMyAdmin
XAMPP đi kèm sẵn phpMyAdmin — giao diện web để tạo database, tạo bảng và xem dữ liệu MySQL bằng thao tác chuột thay vì gõ lệnh SQL thủ công. Sau khi Start MySQL trong XAMPP Control Panel, truy cập:
http://localhost/phpmyadmin
config/database.php (user, mật khẩu) không nên đưa lên Git/GitHub công khai. Khi học lên các bài sau, nhớ thêm file này vào .gitignore.