Bài 1. PHP và mô hình ứng dụng web

PHP là ngôn ngữ chạy ở phía máy chủ, sinh ra trang HTML gửi về trình duyệt. Bài này giải thích mô hình client–server, giao thức HTTP, vị trí của PHP trong ứng dụng web và vì sao PHP vẫn là lựa chọn tốt để bắt đầu lập trình web.

40 phútCơ bản
Bạn sẽ học được
  • Phân biệt mã chạy ở client và ở server
  • Hiểu vòng request–response của HTTP
  • Biết các phương thức và mã trạng thái HTTP cơ bản
  • Biết PHP là gì, phiên bản hiện nay và PHP dùng ở đâu
Thuật ngữ cần biết
Client
Trình duyệt gửi yêu cầu và hiển thị kết quả.
Server
Máy chủ nhận yêu cầu, chạy PHP, truy vấn CSDL, trả về HTML/JSON.
HTTP
Giao thức truyền siêu văn bản giữa client và server.
Request / Response
Yêu cầu từ client / phản hồi từ server.

Khái niệm và lý thuyết

HTML, CSS, JavaScript chạy trong trình duyệt: đó là phần giao diện. Nhưng đăng ký tài khoản, lưu bài viết, tính điểm, gửi email... phải xảy ra trên máy chủ, nơi có cơ sở dữ liệu và mã nguồn không ai xem được. Đó là việc của PHP.

Vòng đời một yêu cầu: (1) trình duyệt gửi HTTP request tới địa chỉ, ví dụ GET /sinhvien.php?ma=SV001; (2) máy chủ web (Apache/Nginx) chuyển cho trình thông dịch PHP; (3) PHP chạy mã, có thể hỏi MySQL; (4) PHP sinh HTML; (5) máy chủ trả về HTTP response kèm mã trạng thái; (6) trình duyệt hiển thị. Người dùng không bao giờ thấy mã PHP, chỉ thấy HTML kết quả.

Phương thứcÝ nghĩaVí dụ
GETLấy dữ liệuXem trang, tìm kiếm
POSTGửi dữ liệu tạo mớiĐăng ký, đăng bài
PUT / PATCHCập nhậtSửa hồ sơ (API)
DELETEXóaXóa bài (API)
Mã trạng tháiNghĩa
200 OKThành công
301 / 302Chuyển hướng
404 Not FoundKhông tìm thấy
500 Internal Server ErrorLỗi mã phía máy chủ

PHP là gì?

PHP (PHP: Hypertext Preprocessor) ra đời năm 1995, hiện ở phiên bản 8.x với hiệu năng cao, kiểu dữ liệu chặt chẽ hơn và nhiều cú pháp hiện đại (match, enum, readonly, fibers). PHP đứng sau WordPress, Wikipedia, Laravel và phần lớn website tại Việt Nam.

  • Cú pháp gần C/Java, dễ học nếu đã biết một ngôn ngữ.
  • Mã nguồn mở, cài một lần bằng XAMPP là chạy.
  • Tài liệu và cộng đồng rất lớn; dễ tìm hosting giá rẻ.
  • Học xong PHP thuần có thể chuyển sang Laravel, Symfony.

Mã PHP đầu tiên nhìn ra sao?

<!DOCTYPE html>
<html lang="vi">
<body>
  <h1>Xin chào</h1>
  <?php
    $ten = "Sinh viên Trường Đại học Tây Bắc";
    echo "<p>Chào $ten, hôm nay là " . date("d/m/Y") . "</p>";
  ?>
</body>
</html>

Mã PHP nằm giữa <?php ... ?>, xen kẽ với HTML. Khi chạy, máy chủ thay toàn bộ đoạn PHP bằng kết quả echo, trình duyệt chỉ nhận HTML thuần.

HTTPS và công cụ xem request

HTTPS = HTTP + TLS: dữ liệu được mã hóa trên đường truyền, bắt buộc với trang đăng nhập, thanh toán. Để quan sát request/response, mở DevTools (F12) → tab Network, hoặc dùng dòng lệnh:

curl -i https://tuhoctin.net
curl -X POST -d "ten=An&lop=K66" http://localhost/xuly.php
Mẹo hay

Xem lại loạt bài HTML - Form (mục Thiết kế web) vì form là cầu nối đầu tiên giữa người dùng và PHP.

Lưu ý

Mở tệp .php bằng cách nhấp đúp sẽ chỉ thấy mã nguồn. Tệp PHP phải chạy qua máy chủ web: http://localhost/... (bài 2).

Thực hành
  1. Liệt kê 5 việc trên một website bán hàng phải làm ở máy chủ, 5 việc làm ở trình duyệt.
  2. Mở tab Network, tải lại tuhoctin.net, ghi lại phương thức, mã trạng thái của 3 request đầu.
  3. Dùng curl -i xem header phản hồi của một website.
Tóm tắt bài học
  • Client hiển thị, server xử lý nghiệp vụ và dữ liệu.
  • HTTP: request → response, có phương thức và mã trạng thái.
  • PHP sinh HTML ở máy chủ; người dùng không thấy mã PHP.
  • PHP 8.x hiện đại, phổ biến, dễ triển khai.