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 được ban hành kèm theo Quyết định số 368ĐT/QĐ-CĐXD1 ngày 10 tháng 08 năm 2021 của Hiệu trưởng Trường Cao đẳng Xây dựng số 1 (Bộ Xây dựng). Công trình do tập thể giảng viên Bộ môn Tin cơ sở biên soạn, với ThS. Đỗ Thị Xuân Thắm đảm nhiệm vai trò chủ biên.

Trong chương trình đào tạo ngành Công nghệ thông tin ứng dụng phần mềm ở trình độ Cao đẳng và Trung cấp, Lập trình PHP là môn học cơ sở ngành bắt buộc. Học phần có tổng thời lượng 90 giờ, được phân bổ thành 30 giờ lý thuyết, 56 giờ thực hành/thí nghiệm/thảo luận/bài tập và 4 giờ kiểm tra định kỳ.

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 cụ thể:

  • Về kiến thức: Cung cấp hệ thống kiến thức nền tảng về thiết kế, xây dựng và vận hành trang web động (dynamic website) phía máy chủ (server-side).
  • Về kỹ năng: Hình thành năng lực lập trình và triển khai các website hoàn chỉnh, có khả năng xử lý biểu mẫu, thao tác tệp tin và tích hợp hệ quản trị cơ sở dữ liệu.
  • Về năng lực tự chủ và trách nhiệm: Rèn luyện tác phong công nghiệp, tư duy logic, tính kiên trì và kỷ luật chuyên môn trong quá trình phát triển phần mềm.

Giáo trình tiếp cận theo mô hình kết hợp chặt chẽ giữa lý thuyết cú pháp và bài tập thực nghiệm. Cấu trúc bài giảng đi từ các khái niệm lập trình web cơ bản, các cấu trúc điều khiển, xử lý dữ liệu biểu mẫu HTTP, lập trình hướng đối tượng cho đến việc lưu trữ trạng thái người dùng và kết nối cơ sở dữ liệu quan hệ.


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

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

Cấu trúc chương trình học phần và mục lục giáo trình được thiết kế theo tiến trình phát triển kỹ năng từ căn bản đến chuyên sâu, bao gồm các chủ đề chính:

  • Chương 1: Tổng quan về lập trình web bằng PHP: Giới thiệu đặc tính ngôn ngữ PHP (Hypertext Preprocessor) - ngôn ngữ kịch bản mã nguồn mở chạy phía máy chủ. Thiết lập môi trường làm việc thông qua gói phần mềm tích hợp XAMPP (chứa máy chủ web Apache, hệ quản trị cơ sở dữ liệu MariaDB, trình thông dịch PHP và Perl). Hướng dẫn quy tắc nhúng mã PHP vào tài liệu HTML qua cặp thẻ <?php ?> hoặc <? ?>. Cung cấp hệ thống cú pháp cơ bản: quy tắc ghi chú (//, /* */), xử lý chuỗi với các hàm chuẩn (trim(), strlen(), str_word_count(), strtoupper(), strtolower(), ucfirst(), ucwords(), explode(), implode(), strstr(), strpos()). Phân loại 7 kiểu dữ liệu cơ bản: Integer (hệ thập phân, nhị phân 0b, bát phân 0, thập lục phân 0x), Float/Double, Boolean (true/false), String/Char, Array, Null và Object. Trình bày quy tắc định danh biến (bắt đầu bằng ký tự $), khai báo hằng số qua hàm define(), hệ thống toán tử quan hệ (>, >=, <, <=, ==, !=), toán tử logic (&&, ||, !), toán tử gán kết hợp (+=, -=, *=, /=). Triển khai các cấu trúc điều khiển rẽ nhánh (if, if-else, elseif, if-else lồng nhau, switch-case, switch lồng nhau) và các cấu trúc vòng lặp (for, foreach, while, do-while). Giới thiệu quy tắc xây dựng hàm tự định nghĩa (function), thiết lập tham số có giá trị mặc định và giá trị trả về (return).
  • Chương 2: Xây dựng cấu trúc cơ sở: Khảo sát cơ chế thu thập và truyền nhận dữ liệu giữa máy khách (client) và máy chủ (server) qua hai phương thức HTTP: GET (dữ liệu truyền qua URL parameter, thu thập qua mảng siêu toàn cục $_GET) và POST (dữ liệu đóng gói trong phần thân HTTP request, thu thập qua $_POST). Hướng dẫn kỹ thuật xử lý các thành phần giao diện biểu mẫu (Form Controls): Text Field, Password, Checkbox, Radio Button, Select Option/Dropdown Menu, Textarea và Submit Button. Trình bày quy trình kiểm thực tính hợp lệ của dữ liệu biểu mẫu (Form Validation) bằng hàm test_input() kết hợp trim(), stripslashes(), htmlspecialchars(), hàm lọc định dạng email filter_var(..., FILTER_VALIDATE_EMAIL) và kiểm tra biểu thức chính quy preg_match(). Hướng dẫn thao tác tệp tin và thư mục: mở file bằng fopen() với 6 chế độ (r, r+, w, w+, a, a+), đọc nội dung bằng fread() kết hợp filesize(), đóng luồng tệp tin bằng fclose(). Giới thiệu nguyên lý lập trình hướng đối tượng (OOP) cơ bản trong PHP: định nghĩa lớp (class), khai báo thuộc tính, phương thức và phương thức khởi tạo __construct().
  • Chương 3: Lập trình với Cookie và Session: Bản chất và cơ chế lưu trữ dữ liệu của Cookie tại máy khách; phương thức khởi tạo và truy xuất Cookie. Khái niệm và nguyên lý hoạt động của Session phía máy chủ; quy trình khởi tạo, truy xuất giá trị và hủy bỏ Session để quản lý phiên làm việc của người dùng.
  • Chương 4: Kết nối cơ sở dữ liệu MySQL và PHP: Giới thiệu mô hình dữ liệu quan hệ, các khái niệm cơ sở dữ liệu, bảng dữ liệu (table), cột (column) và các kiểu dữ liệu phổ biến trong MySQL. Hướng dẫn khởi tạo cơ sở dữ liệu, thực thi các truy vấn SQL cơ bản: trích xuất dữ liệu (SELECT), trích xuất có điều kiện (WHERE), sắp xếp kết quả (ORDER BY), thêm mới (INSERT), sửa đổi (UPDATE), xóa dữ liệu (DELETE) và thống kê phân tích tập dữ liệu.
Tiến trình phát triển kiến thức trong giáo trình:

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

  • Mô hình lập trình Web Client - Server: Làm rõ cơ chế giao tiếp giữa trình duyệt web và máy chủ thông qua giao thức HTTP, sự khác biệt về bảo mật và vận hành giữa hai phương thức truyền tham số GET và POST.
  • Cấu trúc dữ liệu và giải thuật trong môi trường kịch bản: Nền tảng tổ chức dữ liệu mảng tuần tự (indexed array), mảng bất tuần tự/kết hợp (associative array) và mảng đa chiều; cơ chế duyệt mảng lồng nhau bằng vòng lặp foreach.
  • Bảo mật và chuẩn hóa dữ liệu đầu vào: Nguyên lý xử lý chống tấn công mã độc thông qua việc loại bỏ ký tự đặc biệt, lọc khoảng trắng và kiểm tra định dạng dữ liệu (validation patterns).
  • Lập trình hướng đối tượng (OOP): Khái niệm lớp như một khuôn mẫu (template) và đối tượng như một thực thể (instance) cụ thể kế thừa các thuộc tính và hành vi của lớp.
  • Tương tác Cơ sở dữ liệu quan hệ (RDBMS): Mô hình hóa cấu trúc dữ liệu bảng và ngôn ngữ truy vấn có cấu trúc (SQL) kết nối trực tiếp với logic xử lý ứng dụng PHP.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Cài đặt và cấu hình máy chủ cục bộ bằng XAMPP; viết mã kịch bản PHP nhúng trong HTML; khai báo biến, hằng, hàm; thao tác với mảng một chiều và đa chiều; xử lý chuỗi; đọc/ghi dữ liệu từ tệp tin hệ thống.
  • Kỹ năng phân tích (Analytical skills): Phân tích và lựa chọn phương thức truyền dữ liệu thích hợp (GET cho dữ liệu công khai/truy vấn, POST cho dữ liệu nhạy cảm/bảo mật); phân tích logic điều kiện để áp dụng cấu trúc rẽ nhánh (if-else hoặc switch-case) và cấu trúc lặp tối ưu.
  • Kỹ năng thực hành chuyên môn (Practical competencies): Xây dựng các biểu mẫu tương tác người dùng có kiểm thực dữ liệu; quản lý trạng thái đăng nhập/phiên làm việc qua cookie và session; thực hiện đầy đủ các thao tác thêm, đọc, sửa, xóa (CRUD) dữ liệu trên hệ quản trị cơ sở dữ liệu MySQL.

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

Giáo trình Lập trình PHP được thiết kế nhằm đáp ứng chuẩn đào tạo nghề với tỷ trọng thực hành cao. Trong tổng số 90 giờ học của học phần, thời lượng phân bổ cụ thể gồm:

  • Lý thuyết: 30 giờ (chiếm 33.3% tổng thời lượng).
  • Thực hành, thí nghiệm, thảo luận, bài tập: 56 giờ (chiếm 62.2% tổng thời lượng).
  • Kiểm tra định kỳ: 4 giờ (chiếm 4.5% tổng thời lượng).
Phân bổ thời lượng môn học (Tổng: 90 giờ):

Phương pháp sư phạm của tài liệu tuân thủ nguyên tắc diễn dịch: trình bày khái niệm lý thuyết và cú pháp trước, sau đó minh họa trực tiếp bằng các đoạn mã nguồn hoàn chỉnh và giao bài tập thực hành áp dụng.

Hệ thống bài tập thực hành được tích hợp trực tiếp sau các khối kiến thức:

  • Bài tập thuật toán cơ bản: Viết chương trình in hình tam giác vuông bằng vòng lặp for, vòng lặp while và do-while lồng nhau.
  • Bài tập cấu trúc dữ liệu: Duyệt mảng hai chiều lồng nhau bằng cấu trúc foreach kết hợp kiểm tra hàm is_array().
  • Bài tập xử lý hàm: Viết hàm kiểm tra phân loại giá trị số (nhỏ hơn, bằng hoặc lớn hơn 10), viết hàm lặp hiển thị dãy số tự nhiên từ 1 đến n với tham số tùy biến.
  • Bài tập kiểm thực biểu mẫu: Xây dựng ứng dụng hoàn chỉnh thu thập thông tin người dùng (Họ tên, Email, Website, Giới tính, Bình luận), kiểm tra dữ liệu bắt buộc (required field), kiểm tra định dạng email và biểu thức chính quy URL.
  • Bài tập thao tác tệp tin: Viết kịch bản mở, lấy dung lượng byte và đọc dữ liệu từ tệp văn bản hiển thị lên trình duyệt.

Phương pháp đánh giá kết quả học tập căn cứ vào khả năng giải quyết các bài tập thực hành trên máy tính, mức độ hoàn thành bài tập tổng hợp và kết quả các bài kiểm tra định kỳ (4 giờ). Đối với việc tự học, người học cần cài đặt môi trường XAMPP trên máy tính cá nhân, gõ lại mã nguồn mẫu, quan sát kết quả hiển thị trên trình duyệt và tự giải các bài tập tình huống được cung cấp trong từng chương.


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

Giáo trình Lập trình PHP (Ban hành năm 2021) tổng hợp và chuẩn hóa nội dung đào tạo lập trình web với các đặc điểm kỹ thuật:

  • Cập nhật cú pháp mảng hiện đại: Giáo trình cập nhật cú pháp khai báo mảng rút gọn bằng dấu ngoặc vuông $array = []; (áp dụng cho các phiên bản PHP từ 5.4 trở lên), song song với cú pháp truyền thống $array = array();.
  • Tích hợp môi trường máy chủ cục bộ hoàn chỉnh: Sử dụng bộ cài đặt tích hợp XAMPP, hỗ trợ đồng thời Apache, trình thông dịch PHP, Perl và hệ quản trị MariaDB (hệ quản trị cơ sở dữ liệu mã nguồn mở tương thích hoàn toàn với MySQL), giúp đơn giản hóa quá trình cấu hình môi trường và tạo máy chủ ảo (VirtualHost).
  • Hỗ trợ đa nền tảng: Môi trường và các đoạn mã PHP trong giáo trình được xây dựng để vận hành đồng nhất trên nhiều hệ điều hành khác nhau, bao gồm Microsoft Windows, Linux, Unix và Mac OS X.
  • Quy trình chuẩn hóa dữ liệu an toàn: Nội dung chương 2 xây dựng riêng hàm kiểm thực dữ liệu test_input() với các bước xử lý liên hoàn: loại bỏ khoảng trắng thừa (trim()), loại bỏ dấu gạch chéo ngược (stripslashes()) và chuyển đổi các ký tự đặc biệt sang thực thể HTML (htmlspecialchars()) nhằm đảm bảo tính an toàn cho ứng dụng web.

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

  • Đối tượng đào tạo chính: Sinh viên trình độ Cao đẳng và học viên trình độ Trung cấp thuộc 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 và các cơ sở giáo dục nghề nghiệp có chương trình đào tạo tương đương.
  • Kiến thức tiên quyết: Người học cần có kiến thức cơ bản về Tin học cơ sở, hiểu biết nền tảng về ngôn ngữ đánh dấu siêu văn bản (HTML/CSS) và tư duy logic lập trình căn bản trước khi tiếp cận học phần.
  • Đối với giảng viên: Giáo trình được sử dụng làm tài liệu giảng dạy chuẩn mực theo khung đề cương môn học (Mã MH21), hỗ trợ việc phân chia thời lượng giảng dạy lý thuyết (30 giờ), thiết kế các bài thực hành phòng máy (56 giờ) và xây dựng đề kiểm tra đánh giá (4 giờ).
  • Đối với mục đích tự học và nghiên cứu: Tài liệu là nguồn tham khảo cho kỹ thuật viên, lập trình viên mới bắt đầu muốn nắm bắt nguyên lý xây dựng website động phía máy chủ bằng PHP và kết nối cơ sở dữ liệu MySQL/MariaDB.

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

1. Giáo trình này phù hợp với ai?

Tài liệu được biên soạn phục vụ đào tạo trình độ Cao đẳng và Trung cấp ngành Công nghệ thông tin ứng dụng phần mềm, đồng thời phù hợp cho người học muốn tìm hiểu nền tảng lập trình web phía máy chủ (Back-end) bằng PHP.

2. Cần kiến thức nền nào để học giáo trình này?

Người học cần trang bị kiến thức Tin học đại cương, hiểu biết về cấu trúc mã nguồn trang web tĩnh (HTML/CSS) và các khái niệm logic lập trình căn bản để tiếp thu kiến thức hiệu quả.

3. Điểm khác biệt của giáo trình so với các tài liệu khác là gì?

Giáo trình có cơ cấu thực hành vượt trội (56 giờ thực hành/thảo luận so với 30 giờ lý thuyết), cung cấp mã nguồn mẫu chi tiết cho từng cấu trúc lệnh, tích hợp bộ công cụ XAMPP/MariaDB và hướng dẫn cụ thể phương pháp kiểm thực dữ liệu biểu mẫu.

4. Làm sao để tự học hiệu quả với giáo trình?

Người học cần cài đặt bộ phần mềm XAMPP trên máy tính cá nhân để tạo môi trường máy chủ cục bộ, thực thi tuần tự các ví dụ mã nguồn từ Chương 1 đến Chương 4, đối chiếu kết quả hiển thị và hoàn thành các bài tập thực hành viết hàm, duyệt mảng và xử lý biểu mẫu.

5. Có tài liệu bổ trợ nào kèm theo giáo trình?

Giáo trình đi kèm hệ thống ví dụ mã nguồn mẫu trong văn bản, các kịch bản thực hành mẫu và các bảng tra cứu cú pháp hàm chuẩn của PHP đối với việc xử lý chuỗi, mảng, toán tử và tệp tin.


Kết luận

Giáo trình Lập trình PHP (Mã MH21) của Trường Cao đẳng Xây dựng số 1 cung cấp hệ thống kiến thức toàn diện và thực tiễn về kỹ thuật phát triển website động. Lộ trình đào tạo được xây dựng nhất quán từ việc làm quen cú pháp, kiểu dữ liệu, các cấu trúc điều khiển, xử lý giao tiếp HTTP (GET/POST), kiểm thực biểu mẫu, thao tác tệp tin cho đến quản lý phiên làm việc (Cookie/Session) và truy vấn cơ sở dữ liệu MySQL/MariaDB. Tài liệu là căn cứ chuyên môn phục vụ giảng dạy, học tập và rèn luyện kỹ năng nghề nghiệp trong lĩnh vực công nghệ phần mềm.