0

PHP và MySQL Bài 1: Tổng quan về PHP & MySQL - Mô hình Client-Server hoạt động thế nào?

Chào mừng bạn đến với bài học đầu tiên trong series "Làm chủ Backend với PHP & MySQL". Trước khi lao vào gõ những dòng code đầu tiên, chúng ta cần hiểu rõ "sân chơi" của mình là gì, và các công nghệ này giao tiếp với nhau như thế nào.


1. PHP và MySQL là gì? Tại sao lại đi chung với nhau?

Khi lướt web, bạn đang tương tác với hai phần chính:

  • Frontend (Mặt tiền): Giao diện bạn nhìn thấy (HTML, CSS, JavaScript).
  • Backend (Hậu phương): Hệ thống xử lý logic và lưu trữ dữ liệu ẩn bên dưới. Đây chính là nơi PHP và MySQL thống trị.

PHP (Hypertext Preprocessor)

PHP là một ngôn ngữ lập trình kịch bản (scripting language) chạy ở phía máy chủ (Server-side).

  • Nhiệm vụ: Trở thành bộ nạo của trang web. PHP tiếp nhận yêu cầu, xử lý logic (tính toán, kiểm tra mật khẩu, định dạng dữ liệu) và tạo ra mã HTML để trả về cho người dùng.
  • Đặc điểm: Dễ học, triển khai nhanh, và là sức mạnh đứng sau gần 80% các trang web trên toàn thế giới (bao gồm cả Facebook thuở sơ khai và hệ sinh thái WordPress hiện tại).

MySQL

MySQL là một Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở phổ biến nhất thế giới.

  • Nhiệm vụ: Đóng vai trò là "nhà kho". Mọi dữ liệu như thông tin tài khoản, nội dung bài viết, bình luận, hay lịch sử giao dịch đều được tổ chức gọn gàng thành các "bảng" (tables) bên trong MySQL.

Cặp bài trùng: PHP không có khả năng tự nhớ dữ liệu lâu dài, còn MySQL thì không biết cách hiển thị dữ liệu ra web. Khi kết hợp lại, PHP sẽ đóng vai trò là người "hỏi", còn MySQL là người "trả lời" và cung cấp dữ liệu.


2. Mô hình Client - Server hoạt động như thế nào?

Để hiểu cách PHP và MySQL làm việc, cách tốt nhất là bóc tách Mô hình Client - Server (Khách hàng - Máy chủ). Bạn hãy tưởng tượng toàn bộ quá trình này giống như việc bạn đi ăn ở một nhà hàng.

Các thành phần trong mô hình:

  • Client (Khách hàng): Trình duyệt web của bạn (Chrome, Safari, Edge).
  • Web Server (Bồi bàn): Phần mềm trung gian (như Apache, Nginx) nhận yêu cầu từ Client.
  • PHP (Đầu bếp): Trực tiếp xử lý logic, tính toán và xào nấu dữ liệu.
  • MySQL (Kho nguyên liệu): Nơi chứa tất cả dữ liệu gốc.

Luồng hoạt động (The Request - Response Cycle):

  • Bước 1: Request (Gọi món): Khách hàng (Client) gõ vào trình duyệt địa chỉ facebook.com/profile và nhấn Enter. Một yêu cầu (HTTP Request) được gửi qua Internet đến Máy chủ (Server).
  • Bước 2: Phân loại yêu cầu (Bồi bàn nhận order): Web Server (Apache/Nginx) tiếp nhận yêu cầu. Nhận thấy người dùng cần xem dữ liệu động (file .php), Web Server liền chuyển order này cho Đầu bếp (PHP) xử lý.
  • Bước 3: Xử lý logic & Lấy dữ liệu (Đầu bếp vào kho): PHP bắt đầu chạy các dòng code. Nó nhận ra cần thông tin cá nhân của người dùng, nên liền kết nối với kho nguyên liệu (MySQL) bằng một câu lệnh truy vấn (SQL Query): "Hãy đưa cho tôi thông tin của người dùng có ID là 1".
  • Bước 4: Trả dữ liệu (Kho xuất hàng): MySQL tìm kiếm trong các bảng, lấy đúng thông tin (tên, avatar, ngày sinh) và gửi ngược lại cho PHP.
  • Bước 5: Chế biến (Nấu ăn): PHP lấy dữ liệu thô từ MySQL, nhúng vào các thẻ HTML, CSS để tạo thành một giao diện trang cá nhân hoàn chỉnh và đẹp mắt.
  • Bước 6: Response (Lên món): PHP gửi món ăn đã hoàn thiện (trang HTML) cho Web Server. Web Server trả kết quả này (HTTP Response) về lại trình duyệt (Client). Trình duyệt hiển thị trang web cho bạn xem.

Lưu ý: Toàn bộ 6 bước trên diễn ra chỉ trong vài phần nghìn giây!


Tổng kết Bài 1

  • PHP xử lý logic và tạo ra giao diện web động.
  • MySQL lưu trữ và quản lý dữ liệu an toàn, có cấu trúc.
  • Client (Trình duyệt) gửi Request, Server (chứa PHP & MySQL) xử lý và trả về Response.

Hiểu được bức tranh toàn cảnh này, bạn sẽ không bao giờ bị lạc lối khi hệ thống báo lỗi. Ở bài học tiếp theo, chúng ta sẽ bắt tay vào việc cài đặt môi trường lập trình (XAMPP/Laragon) để biến chiếc máy tính của bạn thành một Server thực thụ. Hẹn gặp lại!


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.