THÔNG TIN THƯ MỤC VÀ TỔNG QUAN HỌC THUẬT: GIÁO TRÌNH LẬP TRÌNH PHP (MÃ MÔN HỌC: MH21)

Tổng quan về giáo trình

Giáo trình Lập trình PHP (Mã môn học: MH21) là tài liệu giảng dạy chính thức do TS. Đỗ Thị Xuân Thắm làm Chủ biên cùng tập thể giảng viên Bộ môn Tin cơ sở thuộc Trường Cao đẳng Xây dựng số 1 biên soạn. Tài liệu được ban hành theo Quyết định số 374ĐT/QĐ-CĐXD1 ngày 16 tháng 8 năm 2022 của Hiệu trưởng Trường Cao đẳng Xây dựng số 1.

+-------------------------------------------------------------------------------+
| THÔNG TIN XUẤT BẢN VÀ ĐÀO TẠO                                                 |
+----------------------+--------------------------------------------------------+
| Tên giáo trình       | Lập trình PHP (Xây dựng Website động bằng PHP)         |
| Mã môn học           | MH21                                                   |
| Cơ quan ban hành     | Trường Cao đẳng Xây dựng số 1 - Bộ Xây dựng            |
| Quyết định ban hành  | Số 374ĐT/QĐ-CĐXD1 ngày 16/08/2022                      |
| Chủ biên             | TS. Đỗ Thị Xuân Thắm (Bộ môn Tin cơ sở)                |
| Ngành đào tạo        | Công nghệ thông tin (Ứng dụng phần mềm)                |
| Trình độ đào tạo     | Cao đẳng / Liên thông Cao đẳng                         |
| Thời lượng đào tạo   | 75 giờ (Lý thuyết: 15 giờ; Thực hành/Bài tập: 56 giờ;  |
|                      | Kiểm tra: 04 giờ)                                      |
+----------------------+--------------------------------------------------------+

Trong chương trình đào tạo ngành Công nghệ thông tin (chuyên ngành Ứng dụng phần mềm), môn học Lập trình PHP giữ vị trí môn học cơ sở ngành bắt buộc. Học phần cung cấp nền tảng kỹ thuật về phát triển ứng dụng web động ở phía máy chủ (server-side scripting).

Mục tiêu học tập của giáo trình được xác định trên ba phương diện:

  • Kiến thức: Trang bị hệ thống lý thuyết về ngôn ngữ kịch bản PHP, cơ chế truyền nhận dữ liệu HTTP, quản lý phiên làm việc và kỹ thuật tương tác với hệ quản trị cơ sở dữ liệu quan hệ MySQL/MariaDB.
  • Kỹ năng: Người học hình thành năng lực thiết kế, lập trình và vận hành hoàn chỉnh một hệ thống website động, bao gồm giao diện người dùng và trang quản trị nội dung.
  • Năng lực tự chủ và trách nhiệm: Rèn luyện tác phong công nghiệp, tính kỷ luật trong lập trình và tính cẩn trọng trong xử lý dữ liệu.

Cấu trúc giáo trình gồm 4 chương với thời lượng 75 giờ, áp dụng phương pháp tiếp cận thực hành chuyên sâu (thời lượng thực hành chiếm 56 giờ, tương đương 74,6% tổng thời lượng môn học). Điểm đặc thù của tài liệu là định hướng trực tiếp vào các bài toán triển khai thực tế như xử lý biểu mẫu, xác thực dữ liệu và quản trị website bán hàng.


Nội dung kiến thức cốt lõi

                             TIẾN TRÌNH NỘI DUNG MÔN HỌC (75 GIỜ)
 Chương 1 (20 giờ)                      Chương 2 (12 giờ)                      Chương 3 (19 giờ)
 CƠ SỞ NGÔN NGỮ PHP                     CẤU TRÚC CƠ SỞ & FORM                  COOKIE VÀ SESSION
                                                                                       Chương 4 (24 giờ)
                                                                                       KẾT NỐI CSDL MYSQL

Các chương và chủ đề chính

Nội dung giáo trình được tổ chức thành 4 chương logic theo quy trình phát triển website động:

  • Chương 1: Tổng quan về lập trình web bằng PHP (Thời lượng: 20 giờ; Lý thuyết: 5 giờ, Thực hành: 14 giờ, Kiểm tra: 1 giờ)

    • Môi trường làm việc: Giới thiệu bộ công cụ XAMPP (tích hợp Apache, MariaDB/MySQL, PHP, Perl), cấu hình VirtualHost đa nền tảng (Windows, Linux, Unix, macOS).
    • Cú pháp cơ bản: Kỹ thuật nhúng mã PHP vào tài liệu HTML qua cặp thẻ <?php ?> hoặc <? ?>; quy tắc xử lý khoảng trắng với hàm trim(); cú pháp ghi chú đơn dòng // và đa dòng /* */.
    • Xử lý chuỗi: Cung cấp các hàm chuỗi chuẩn gồm strlen(), str_word_count(), strtoupper(), strtolower(), ucfirst(), ucwords(), explode(), implode(), strstr(), strpos().
    • Hệ thống kiểu dữ liệu: Phân loại 7 kiểu dữ liệu cơ bản: Số nguyên (INT - biểu diễn nhị phân, bát phân, thập phân, thập lục phân), số thực (float, double), boolean (TRUE/FALSE), chuỗi (String/Char đi kèm hàm kiểm tra is_string()), mảng (Array), Null và Đối tượng (Object). Cú pháp ép kiểu tường minh (kieudulieu) $bien.
    • Biến, hằng và toán tử: Quy tắc định danh biến bắt đầu bằng ký tự $, phân biệt chữ hoa - chữ thường; định nghĩa hằng bằng hàm define('tenHang', 'giaTri'); các nhóm toán tử quan hệ (>, >=, <, <=, ==, !=), toán tử logic (&&, ||, !), toán tử kết hợp (++, --, +=, -=, *=, /=).
    • Cấu trúc điều khiển: Cú pháp rẽ nhánh if, if...else, elseif, câu lệnh if lồng nhau; cấu trúc lựa chọn switch...case và switch lồng nhau; các vòng lặp for, foreach (duyệt mảng đơn và mảng khóa-giá trị), while, do...while.
    • Hàm và mảng: Khai báo hàm với từ khóa function, tham số truyền vào và giá trị mặc định, từ khóa return; phân loại mảng 1 chiều, mảng đa chiều, mảng tuần tự và mảng bất tuần tự (associative array); các thao tác thêm, sửa, hiển thị mảng bằng hàm print_r().
  • Chương 2: Xây dựng cấu trúc cơ sở (Thời lượng: 12 giờ; Lý thuyết: 2 giờ, Thực hành: 10 giờ)

    • Phương thức truyền nhận dữ liệu HTTP: So sánh phương thức GET (truyền tham số qua URL sau dấu ?, phân tách bằng &, lưu trữ trong biến toàn cục $_GET) và phương thức POST (truyền dữ liệu ẩn qua HTTP header, lưu trữ trong $_POST, phù hợp với dữ liệu bảo mật như đăng nhập, thanh toán).
    • Các điều khiển Form: Lập trình thu thập dữ liệu từ các thẻ input (text, password, checkbox, radio), select option, textarea. Kỹ thuật kiểm tra sự tồn tại của dữ liệu với hàm isset().
    • Thẩm định dữ liệu (Form Validation): Kỹ thuật chuẩn hóa dữ liệu đầu vào qua hàm tự tạo kết hợp trim(), stripslashes(), htmlspecialchars(); kiểm tra định dạng dữ liệu bằng biểu thức chính quy preg_match() (cho trường tên và URL) và bộ lọc filter_var($email, FILTER_VALIDATE_EMAIL).
    • Thao tác với tệp và thư mục: Cung cấp các hàm thao tác hệ thống tệp và quản lý thư mục; kỹ thuật điều khiển con trỏ mảng nội bộ với reset(), current(), next().
    • Lập trình hướng đối tượng (OOP): Khái niệm lớp (class) và đối tượng (object); khai báo thuộc tính, phương thức và phương thức khởi tạo tự động __construct().
  • Chương 3: Lập trình với Cookie và session trong PHP (Thời lượng: 19 giờ; Lý thuyết: 4 giờ, Thực hành: 14 giờ, Kiểm tra: 1 giờ)

    • Cookie: Bản chất, cơ chế lưu trữ ở phía máy khách (client), quy trình khởi tạo và truy xuất dữ liệu cookie.
    • Session: Cơ chế lưu trữ phiên làm việc ở phía máy chủ (server); các cú pháp khởi tạo session, gán và sử dụng giá trị session, quy trình giải phóng và hủy bỏ session khi kết thúc phiên.
  • Chương 4: Kết nối cơ sở dữ liệu MySQL và PHP (Thời lượng: 24 giờ; Lý thuyết: 4 giờ, Thực hành: 18 giờ, Kiểm tra: 2 giờ)

    • Lý thuyết cơ sở dữ liệu quan hệ: Định nghĩa cơ sở dữ liệu, bảng (table), cột (column/field); các kiểu dữ liệu thông dụng trong MySQL.
    • Tạo lập môi trường: Cách khởi động dịch vụ, tạo lập cơ sở dữ liệu và bảng dữ liệu trên MySQL/MariaDB.
    • Cú pháp truy vấn và thao tác dữ liệu: Cú pháp SQL cơ bản; kỹ thuật nhúng kết nối giữa PHP và MySQL; thực hiện các thao tác CRUD (Create, Read, Update, Delete) bao gồm: hiển thị dữ liệu, hiển thị dữ liệu có điều kiện lọc, sắp xếp dữ liệu, thêm mới, cập nhật, xóa bản ghi; xây dựng các giải thuật thống kê và phân tích dữ liệu hiển thị lên trang web.

Kiến thức nền tảng được xây dựng

Giáo trình thiết lập các khối tri thức nền tảng:

  • Lý thuyết kịch bản máy chủ: Mô hình hoạt động Client-Server, cơ chế thông dịch mã PHP trên web server Apache và trả về mã HTML cho trình duyệt.
  • Nguyên lý giao thức HTTP: Cơ chế truyền dữ liệu không trạng thái (stateless) và phương thức khắc phục trạng thái thông qua các mảng siêu toàn cục $_GET, $_POST, $_COOKIE, $_SESSION.
  • Mô hình lập trình hướng đối tượng: Nguyên lý đóng gói dữ liệu và phương thức trong lớp (Class), tính kế thừa và cơ chế khởi tạo thực thể (Object).
  • Mô hình tương tác dữ liệu quan hệ: Kỹ thuật kết nối và thực thi các câu lệnh thao tác dữ liệu SQL có ràng buộc logic từ ứng dụng web PHP.

Kỹ năng phát triển

+-------------------+-------------------------------------------------------------------+
| NHÓM KỸ NĂNG      | CÁC CHỈ SỐ NĂNG LỰC CỤ THỂ ĐƯỢC ĐÀO TẠO                           |
+-------------------+-------------------------------------------------------------------+
| Kỹ năng kỹ thuật  | - Cài đặt, thiết lập môi trường phát triển máy chủ ảo XAMPP.     |
| (Technical Skills)| - Viết mã PHP chuẩn cú pháp, nhúng chính xác vào cấu trúc HTML.   |
|                   | - Xây dựng biểu mẫu, làm sạch và thẩm định tính hợp lệ của dữ     |
|                   |   liệu bằng biểu thức chính quy (Regex) và bộ lọc Filter.         |
|                   | - Kết nối và thực thi các câu lệnh truy vấn CRUD trên MySQL.      |
+-------------------+-------------------------------------------------------------------+
| Kỹ năng phân tích | - Phân tích cấu trúc dữ liệu mảng phức hợp (tuần tự, kết hợp,    |
| (Analytical       |   đa chiều).                                                      |
|  Skills)          | - Lựa chọn cấu trúc điều khiển tối ưu (so sánh hiệu năng giữa     |
|                   |   `if...else` và `switch...case` trên tập dữ liệu lớn).           |
|                   | - Thiết kế lược đồ cơ sở dữ liệu cho bài toán thương mại điện tử. |
+-------------------+-------------------------------------------------------------------+
| Năng lực ứng dụng | - Xây dựng hoàn chỉnh website bán hàng động bằng ngôn ngữ PHP.   |
| thực tiễn         | - Lập trình module quản trị (Admin Dashboard) để thay đổi và cập  |
| (Practical Comp.) |   nhật nội dung trang web bán hàng.                               |
+-------------------+-------------------------------------------------------------------+

Phương pháp giảng dạy và học tập

Giáo trình được thiết kế theo phương pháp sư phạm chú trọng thực hành kỹ năng nghề, phân bổ 56 giờ thực hành trên tổng số 75 giờ của học phần.

PHÂN PHỔ THỜI LƯỢNG HỌC PHẦN (TỔNG SỐ: 75 GIỜ)
Lý thuyết:  [██████] 15 giờ (20.0%)
Thực hành:  [██████████████████████] 56 giờ (74.6%)
Kiểm tra:   [█] 4 giờ (5.4%)

Phương pháp giảng dạy của giảng viên

  • Giảng dạy bằng phương pháp thuyết trình, giảng giải kết hợp trực quan hóa trên màn chiếu projector tại phòng máy tính chuyên môn hóa.
  • Đặt câu hỏi phát vấn, nêu vấn đề thực tế trong lập trình web; giao bài tập nhóm và bài tập thực hành theo từng modul kiến thức.
  • Tổ chức thảo luận kỹ thuật để người học phân tích lỗi cú pháp, tự kiểm thử và rút ra kết luận logic.

Hệ thống bài tập và thực hành

Tài liệu tích hợp các bài tập mã nguồn mẫu có độ phức tạp tăng dần:

  • Bài tập thuật toán cơ bản: Vẽ tam giác vuông bằng vòng lặp for lồng nhau, vẽ tam giác vuông bằng vòng lặp while và do...while.
  • Bài tập xử lý cấu trúc dữ liệu: Duyệt mảng hai chiều kết hợp hàm is_array() và vòng lặp foreach lồng nhau.
  • Bài tập thiết kế hàm: Xây dựng hàm kiểm tra điều kiện số học checkNumber(), hàm lặp in dãy số tự nhiên loopNumber() với tham số mặc định.
  • Bài tập ứng dụng Form và OOP: Xây dựng form nhập liệu có kiểm tra lỗi đầu vào, form đăng ký môn học, form lựa chọn thành phố bằng select option, bài tập tạo lớp Mobile và quản trị thuộc tính sản phẩm.

Phương pháp đánh giá kết quả học tập

Quy trình đánh giá học phần được chuẩn hóa thành 2 hình thức:

  • Kiểm tra định kỳ: Thực hiện 04 bài kiểm tra thực hành trực tiếp trên máy vi tính, thời lượng mỗi bài là 60 phút.
  • Kiểm tra kết thúc môn học: Tổ chức theo hình thức thi vấn đáp trực tiếp với thời lượng 30 phút. Nội dung kiểm tra bao quát các tiêu chí: xây dựng bố cục trang web bằng PHP, truy vấn cơ sở dữ liệu, kỹ năng tạo website bán hàng và module quản trị cập nhật nội dung.

Điểm nổi bật và cập nhật

  • Cấu trúc hóa chương trình đào tạo: Giáo trình được biên soạn chuẩn hóa theo đề cương môn học Lập trình căn bản, có bổ sung các nội dung kiến thức chuyên sâu về quản lý phiên và tương tác cơ sở dữ liệu mà các tài liệu giảng dạy trước đây chưa đề cập.
  • Môi trường công nghệ thực hành chuẩn mực: Tài liệu hướng dẫn sử dụng bộ công cụ XAMPP, tích hợp hệ quản trị MariaDB làm giải pháp thay thế tương thích hoàn toàn cho MySQL, hỗ trợ sinh viên cấu hình VirtualHost và làm việc trên đa nền tảng điều hành (Windows, Linux, macOS).
  • Cập nhật cú pháp ngôn ngữ: Tích hợp cú pháp khai báo mảng ngắn [] được chuẩn hóa từ phiên bản PHP 5.4 trở lên, song song với cú pháp truyền thống array().
  • Chuẩn hóa quy trình bảo mật Form: Đưa vào tài liệu quy trình thẩm định dữ liệu biểu mẫu qua hàm làm sạch nhiều lớp (trim, stripslashes, htmlspecialchars), xử lý lọc email hợp lệ qua filter_var và kiểm tra ký tự chuỗi bằng biểu thức chính quy preg_match.
  • Gắn liền với ứng dụng ngành: Đích đến của hệ thống bài tập và nội dung đánh giá là bài toán xây dựng website thương mại điện tử (website bán hàng) có trang quản trị nội dung.

Đối tượng sử dụng giáo trình

+------------------------+--------------------------------------------------------------+
| NHÓM ĐỐI TƯỢNG         | ĐIỀU KIỆN TIÊN QUYẾT VÀ PHƯƠNG THỨC KHAI THÁC TÀI LIỆU       |
+------------------------+--------------------------------------------------------------+
| Sinh viên đào tạo      | - Sinh viên theo học trình độ Cao đẳng và Liên thông         |
|                        |   Cao đẳng ngành Công nghệ thông tin (Ứng dụng phần mềm).     |
|                        | - Yêu cầu đầu vào: Tốt nghiệp THPT hoặc tương đương; đã học  |
|                        |   qua các môn học cơ sở về Web căn bản, HTML và CSS.         |
+------------------------+--------------------------------------------------------------+
| Giảng viên chuyên ngành| - Giảng viên có bằng tốt nghiệp Đại học chuyên ngành CNTT.   |
|                        | - Sử dụng tài liệu làm khung đề cương chi tiết, giáo án bài  |
|                        |   giảng và xây dựng ngân hàng đề thi thực hành 60 phút,      |
|                        |   vấn đáp 30 phút.                                           |
+------------------------+--------------------------------------------------------------+
| Người tự học /         | - Kỹ thuật viên cần tài liệu tra cứu có hệ thống về cú pháp  |
| Tham khảo độc lập      |   PHP, các hàm chuỗi/mảng và kỹ thuật kết nối MySQL cơ bản.  |
+------------------------+--------------------------------------------------------------+

Câu hỏi thường gặp (FAQ)

1. Giáo trình này phù hợp với đối tượng người học nào?

Giáo trình được biên soạn phục vụ trực tiếp cho sinh viên trình độ Cao đẳng và Liên thông Cao đẳng ngành Công nghệ thông tin (Ứng dụng phần mềm) tại Trường Cao đẳng Xây dựng số 1, đồng thời làm tài liệu tham khảo cho người học lập trình web backend cơ bản.

2. Cần chuẩn bị kiến thức nền tảng nào trước khi học giáo trình này?

Người học cần có bằng tốt nghiệp THPT hoặc tương đương, có kỹ năng tin học văn phòng cơ bản và đã nắm vững kiến thức về cấu trúc trang web cơ bản (HTML/CSS) để thực hiện nhúng mã PHP và xây dựng giao diện biểu mẫu.

3. Giáo trình này có điểm gì khác biệt so với các tài liệu lập trình PHP khác?

Tài liệu tập trung thời lượng lớn cho kỹ năng thực hành (56/75 giờ). Quy trình đánh giá kết quả học tập được quy định cụ thể gồm 4 bài kiểm tra thực hành 60 phút và thi vấn đáp 30 phút. Nội dung bài giảng đi thẳng vào ứng dụng thực tế về xử lý form an toàn và xây dựng hệ thống website bán hàng có trang quản trị.

4. Làm thế nào để tự học và thực hành hiệu quả theo giáo trình?

Người học cần cài đặt môi trường máy chủ cục bộ XAMPP theo hướng dẫn tại Chương 1, thực hiện tuần tự các đoạn mã ví dụ từ cơ bản (cú pháp, hàm, mảng) đến nâng cao (OOP, form validation, kết nối MySQL), và hoàn thành đầy đủ các bài tập thực hành được giao ở cuối mỗi chương.

5. Có những tài liệu bổ trợ và tham khảo nào được nêu trong giáo trình?

Giáo trình trích dẫn và khuyến nghị các tài liệu tham khảo gồm:

  • Bài giảng Lập trình PHP, Trường Đại học Khoa học Tự nhiên.
  • Đặng Ngọc Bình (2015), Thiết kế Web siêu tốc, APPNET – Trung tâm Đào tạo Digital Marketing – Đại học Bách Khoa TP.HCM.
  • Nguồn học liệu trực tuyến chuyên ngành tại địa chỉ thachpham.com (chuyên mục Web Development, HTML-CSS).

Kết luận

Giáo trình Lập trình PHP (Mã môn học: MH21) của Trường Cao đẳng Xây dựng số 1 là tài liệu học thuật cung cấp đầy đủ các khối kiến thức cơ sở về phát triển ứng dụng web động ở phía máy chủ. Lộ trình đào tạo được xây dựng theo trình tự logic chặt chẽ:

[Chương 1: Cú pháp PHP, giải thuật & cấu trúc dữ liệu mảng]
[Chương 2: Xử lý Form, thẩm định dữ liệu & Lập trình hướng đối tượng]
[Chương 3: Quản lý phiên làm việc với Cookie và Session]
[Chương 4: Tích hợp và thao tác dữ liệu với RDBMS MySQL/MariaDB]

Tài liệu kết hợp chặt chẽ giữa khối kiến thức lý thuyết và 56 giờ thực hành trên hệ thống phòng máy chuyên môn hóa, đáp ứng yêu cầu hình thành năng lực xây dựng và quản trị website bán hàng cho sinh viên ngành Công nghệ thông tin trình độ Cao đẳng.