Bài giảng · Lập trình Web PHP cơ bản

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ẻ:

Vì sao cần XAMPP? File .php không thể mở trực tiếp bằng cách click đúp như file .html — nó phải được một web server có cài PHP xử lý trước rồi mới trả HTML về cho trình duyệt (xem lại bài 7). XAMPP dựng sẵn toàn bộ "dây chuyền" đó ngay trên máy của bạn.

Cài đặt trên Windows

  1. 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ó)
  2. 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"
  3. Cài vào thư mục mặc định.
    C:\xampp
  4. 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
  5. 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à:

document root
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:

đường dẫn thư mục dự án
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:

truy cập từ trình duyệt
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.

cấu trúc thư mục đề xuất
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/

Ví dụ: kết nối các phần lại trong index.php

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:

quản lý CSDL
http://localhost/phpmyadmin
Lưu ý bảo mật: Thông tin kết nối database trong 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.