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

Giáo trình Lập trình PHP cơ bản được biên soạn bởi nhóm giảng viên Bộ môn Tin cơ sở thuộc Trường Cao đẳng Xây dựng số 1 (Bộ Xây dựng), do ThS. Đỗ Thị Xuân Thắm làm chủ biên, xuất bản năm 2024 tại Hà Nội. Tài liệu được ban hành chính thức theo Quyết định số 597/QĐ-CĐXD1 ngày 29 tháng 12 năm 2023 của Hiệu trưởng nhà trường, gắn liền với chương trình môn học ban hành kèm Quyết định số 308/QĐ-CĐXD1 ngày 25 tháng 7 năm 2023.

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) trình độ Trung cấp, môn học có mã số MH24, được bố trí giảng dạy tại học kỳ thứ 4 sau khi người học đã hoàn thành môn học tiên quyết MH11 - Lập trình căn bản.

+-------------------------------------------------------------------------------+
|                      THÔNG TIN ĐỊNH DANH GIÁO TRÌNH                           |
+----------------------+--------------------------------------------------------+
| Tên giáo trình       | Lập trình PHP cơ bản                                   |
| Chủ biên             | ThS. Đỗ Thị Xuân Thắm (Bộ môn Tin cơ sở)               |
| Đơn vị ban hành      | Trường Cao đẳng Xây dựng số 1 – Bộ Xây dựng            |
| Văn bản pháp lý      | Quyết định số 597/QĐ-CĐXD1 & Quyết định 308/QĐ-CĐXD1   |
| Trình độ đào tạo     | Trung cấp – Ngành Công nghệ thông tin (UDPM)           |
| Mã môn học / Vị trí  | MH24 (Thời lượng: 105 giờ) / Học kỳ 4                  |
| Môn học tiên quyết   | MH11 - Lập trình căn bản                               |
+----------------------+--------------------------------------------------------+

Về mục tiêu học tập, giáo trình trang bị cho người học hệ thống kiến thức toàn diện về ngôn ngữ kịch bản phía máy chủ (server-side scripting): từ cú pháp cơ bản, các cấu trúc điều khiển rẽ nhánh, vòng lặp, xử lý cấu trúc dữ liệu mảng (một chiều, nhiều chiều, mảng kết hợp), kỹ thuật xây dựng hàm, nền tảng lập trình hướng đối tượng với lớp và phương thức, cho đến kỹ thuật xử lý biểu mẫu (form validation) và tương tác với cơ sở dữ liệu MySQL.

Tài liệu được xây dựng theo chuẩn thời lượng 105 giờ, trong đó phân bổ 15 giờ lý thuyết, 56 giờ thực hành/thảo luận/bài tập, 4 giờ kiểm tra định kỳ và tích hợp 30 giờ đào tạo trực tuyến. Cấu trúc nội dung đi theo mô hình module hóa gồm 7 chương logic, gắn kết chặt chẽ giữa lý thuyết cú pháp và các đoạn mã mẫu thực thi trực tiếp trên môi trường máy chủ ảo XAMPP.


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

                             TIẾN TRÌNH 7 CHƯƠNG HỌC PHẦN
                             
  [Chương 1: Tổng quan PHP]
  [Chương 2: Cấu trúc điều khiển và lệnh lặp]
  [Chương 3: Mảng trong PHP]
  [Chương 4: Hàm trong PHP]
  [Chương 5: Lớp và đối tượng PHP]
  [Chương 6: Biểu mẫu trong PHP]
  [Chương 7: Xử lý MySQL database với PHP]
           (Kết nối cơ sở dữ liệu, CRUD: Insert, Select, Update, Delete)

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

Giáo trình phân chia khối lượng kiến thức thành 7 chương chuyên đề nối tiếp nhau theo trật tự phát triển logic:

  • Chương 1: Tổng quan PHP (7 giờ): Giới thiệu nguồn gốc ngôn ngữ kịch bản mã nguồn mở PHP, cài đặt môi trường máy chủ cục bộ thông qua phần mềm XAMPP, thư mục chứa mã nguồn htdocs, cú pháp đóng/mở thẻ <?php ... ?>, cú pháp ghi chú đơn dòng và đa dòng. Trình bày quy tắc đặt tên biến (bắt đầu bằng $, phân biệt hoa thường), khai báo hằng số bằng hàm define(), các kiểu dữ liệu cơ bản (số nguyên INT hỗ trợ hệ thập phân, số âm, bát phân 0123, thập lục phân 0x1A, nhị phân 0b11111111; số thực float/double; chuỗi string; boolean; mảng array; đối tượng object) cùng hệ thống toán tử số học, gán, so sánh, tăng/giảm, logic và toán tử nối chuỗi (.).
  • Chương 2: Cấu trúc điều khiển và lệnh lặp (15 giờ): Trình bày cú pháp và nguyên lý hoạt động của cấu trúc rẽ nhánh điều kiện: lệnh if đơn, cấu trúc if...else, cấu trúc rẽ nhánh nhiều trường hợp if...elseif...else, và câu lệnh lựa chọn switch...case...default với từ khóa ngắt break. Giới thiệu 4 dạng vòng lặp: vòng lặp không xác định trước số lần while và do...while (thực hiện khối lệnh ít nhất một lần trước khi kiểm tra điều kiện), vòng lặp xác định số lần for, và vòng lặp duyệt mảng foreach.
  • Chương 3: Mảng trong PHP (25 giờ): Định nghĩa cấu trúc mảng (array(), []), phân loại mảng một chiều tuần tự (truy xuất qua chỉ số index nguyên), mảng kết hợp (Associative Array truy xuất bằng khóa dạng chuỗi ký tự key-value) và mảng nhiều chiều (mảng lồng nhau truy xuất qua đa chỉ số [chỉ_số_1][chỉ_số_2]). Cung cấp hệ thống các hàm xử lý mảng tích hợp sẵn: is_array(), count(), unset(), array_change_key_case(), array_combine(), array_count_values(), array_filter(), array_key_exists(), array_keys(), array_merge(), array_pop(), array_product(), array_push(), array_reduce(), array_reverse(), array_search(), array_shift(), array_sum(), array_unique(), array_values(), in_array(), shuffle(), sort().
  • Chương 4: Hàm trong PHP (18 giờ): Khái niệm khối mã tái sử dụng, kỹ thuật định nghĩa hàm function, truyền tham số, chỉ định kiểu dữ liệu tham số nghiêm ngặt (như float $so1), tham số có giá trị mặc định ($name = 'noname'), giá trị trả về thông qua câu lệnh return, khai báo kiểu trả về cho hàm (: void, : int, : string, : array). Phân biệt cơ chế truyền tham số dạng tham trị (sao chép giá trị) và tham chiếu (sử dụng ký tự &$bien trỏ trực tiếp đến ô nhớ) cùng kỹ thuật gọi hàm động và hàm ẩn danh (anonymous function / closure).
  • Chương 5: Lớp và đối tượng PHP (16 giờ): Khái niệm nền tảng về Lập trình hướng đối tượng (OOP), cấu trúc định nghĩa lớp (class), khởi tạo thể hiện đối tượng (new), khai báo hằng, thuộc tính và phương thức trong lớp, phương thức khởi tạo tự động __construct(), và kỹ thuật kế thừa giữa các lớp.
  • Chương 6: Biểu mẫu trong PHP (15 giờ): Kỹ thuật thu nhận và xử lý dữ liệu biểu mẫu (Form Handling), quy trình kiểm tra tính hợp lệ của dữ liệu đầu vào (Validation Form), xử lý các trường dữ liệu bắt buộc (Form Required), và cơ chế xác thực định dạng địa chỉ Web (URL) cũng như thư điện tử (Email).
  • Chương 7: Xử lý MySQL database với PHP (9 giờ): Kỹ thuật thiết lập kết nối từ ứng dụng PHP sang hệ quản trị cơ sở dữ liệu MySQL, tạo bảng dữ liệu (Create Table), và thực hiện các thao tác thao tác dữ liệu cơ bản (CRUD): chèn bản ghi (INSERT), truy vấn trích xuất dữ liệu (SELECT), cập nhật dữ liệu (UPDATE), và xóa dữ liệu (DELETE).

Bảng tổng hợp cấu trúc thời lượng chi tiết theo chương trình môn học

TT Tên chương / Mục Tổng số giờ Lý thuyết (Trực tiếp / Trực tuyến) Thực hành, bài tập (Trực tiếp / Trực tuyến) Kiểm tra
1 Chương 1: Tổng quan PHP 7 0 / 2 5 / 0 0
2 Chương 2: Cấu trúc điều khiển và lệnh lặp 15 1 / 1 8 / 4 1 (Bài KT 1)
3 Chương 3: Mảng trong PHP 25 1 / 2 10 / 11 1 (Bài KT 2)
4 Chương 4: Hàm trong PHP 18 2 / 0 7 / 9 0
5 Chương 5: Lớp và đối tượng PHP 16 2 / 0 13 / 0 1 (Bài KT 3)
6 Chương 6: Biểu mẫu trong PHP 15 2 / 0 5 / 8 0
7 Chương 7: Xử lý MySQL database với PHP 9 2 / 0 6 / 0 1 (Bài KT 4)
Tổng Toàn bộ học phần 105 10 / 5 (Tổng LT: 15) 54 / 32 (Tổng TH: 56 + 30 online) 4

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

Giáo trình hình thành nền tảng lập trình web phía máy chủ dựa trên 4 trụ cột kiến thức:

  1. Cơ chế thực thi Server-Side: Nguyên lý biên dịch mã nguồn kịch bản trên máy chủ web thông qua dịch vụ Apache, lưu trữ mã tại thư mục cục bộ htdocs và trả kết quả mã HTML về phía trình duyệt web của máy khách (client).
  2. Cấu trúc dữ liệu và giải thuật cơ bản: Quản lý không gian biến, kiểu dữ liệu nguyên thủy (integer 32-bit, float, string, boolean) và cấu trúc mảng đa chiều; áp dụng giải thuật lặp và rẽ nhánh để xử lý bài toán dữ liệu.
  3. Mô hình Lập trình Hướng đối tượng: Đóng gói trạng thái (thuộc tính) và hành vi (phương thức) vào khuôn mẫu lớp (class), quản lý vòng đời đối tượng qua hàm khởi tạo __construct(), và tái sử dụng cấu trúc thông qua tính kế thừa.
  4. Kiến trúc tương tác ứng dụng Web - Cơ sở dữ liệu: Luồng truyền nhận dữ liệu thông qua giao thức HTTP (xử lý dữ liệu Form) và kết nối tầng dữ liệu với cơ sở dữ liệu quan hệ MySQL.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical Skills): Cài đặt và cấu hình môi trường máy chủ cục bộ XAMPP; tổ chức và quản lý cây thư mục mã nguồn; viết mã PHP tuân thủ cú pháp chuẩn; định kiểu dữ liệu tham số và kiểm soát giá trị trả về của hàm.
  • Kỹ năng phân tích (Analytical Skills): Phân tích bài toán logic, lựa chọn cấu trúc điều khiển (if/switch) và thuật toán lặp (for/while/foreach) phù hợp; phân loại và cấu trúc hóa dữ liệu bằng mảng kết hợp hoặc mảng đa chiều; phân tích tính hợp lệ của dữ liệu đầu vào.
  • Kỹ năng ứng dụng thực hành (Practical Competencies): Xây dựng các tiện ích web (máy tính bỏ túi, form liên hệ, hệ thống câu hỏi trắc nghiệm); xử lý kiểm thực form dữ liệu người dùng (validation bắt buộc, URL, email); lập trình các thao tác cơ bản tương tác cơ sở dữ liệu MySQL (Select, Insert, Update, Delete).

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

Giáo trình áp dụng mô hình đào tạo định hướng thực hành nghề nghiệp với tỷ trọng giờ thực hành và bài tập ứng dụng chiếm đa số (56 giờ trực tiếp kết hợp 30 giờ trực tuyến trên tổng số 105 giờ).

                      MÔ HÌNH TỔ CHỨC ĐÀO TẠO & ĐÁNH GIÁ
                      
         (15 giờ)                               (56 giờ thực hành)
 [Kiểm tra thường xuyên]                     [Kiểm tra định kỳ]              [Thi kết thúc học phần]
   • Hệ số 1 (01 đầu điểm)                     • Hệ số 2 (04 bài kiểm tra)     • Hình thức: Thực hành máy
   • Đánh giá qua LMS & nhóm                   • Rải đều sau các chương 2,3,5,7 • Điều kiện: CC ≥ 80%, ĐTB ≥ 5.0

Phương pháp tiếp cận sư phạm

  • Đối với giảng viên: Kết hợp phương pháp thuyết trình, giảng giải lý thuyết với phương pháp phát vấn và nêu vấn đề kỹ thuật; tổ chức giao bài tập nhóm và điều phối các phiên thảo luận chuyên môn tại phòng máy tính chuyên dụng có trang bị máy chiếu để người học tự rút ra quy luật xử lý mã nguồn.
  • Đối với người học: Thực hiện quy trình nghe giảng, phân tích ví dụ minh họa, trực tiếp viết mã thực nghiệm trên máy tính, chủ động nghiên cứu tài liệu kỹ thuật trên Internet và làm việc nhóm giải quyết bài tập dự án.

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

Giáo trình tích hợp hệ thống bài tập thực hành đa dạng sau mỗi chương:

  • Thực hành Chương 1: Xây dựng tập lệnh tính tuổi hiện tại kết hợp hàm date('Y'), viết chương trình tính diện tích hình chữ nhật ($dientich = $dai * $rong), tính tổng/hiệu/tích của ba số $a, $b, $c.
  • Thực hành Chương 2: Lập trình vòng lặp for lồng nhau để vẽ tam giác sao, hình chữ nhật sao 10x20 ký tự; xuất bảng cửu chương bằng vòng lặp while; tính trung bình cộng các số chia hết cho 3 từ 27 đến 250; tính tổng chuỗi số nguyên $S = 1 + 2 + ... + n$, tổng số lẻ, tổng số chẵn từ 5 đến 30; xây dựng ứng dụng mô phỏng máy tính bỏ túi và hệ thống câu hỏi thi trắc nghiệm bằng lệnh switch...case.
  • Thực hành Chương 3: Triển khai danh mục 22 bài thực hành mảng chuyên sâu: tạo mảng liên hợp lưu trữ quốc gia - thủ đô, chuyển đổi chữ hoa/chữ thường, tìm độ dài ngắn nhất/dài nhất của chuỗi trong mảng, xử lý chuỗi JSON, lọc bản sao giá trị, và so sánh mảng đa chiều.
  • Thực hành Chương 4, 6, 7: Xây dựng hàm tính toán tham số; xây dựng biểu mẫu kiểm tra định dạng dữ liệu (validation); viết mã PHP kết nối cơ sở dữ liệu MySQL để thực hiện trích xuất và chèn dữ liệu bảng.

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

Quy chế đánh giá môn học MH24 được quy định chặt chẽ thành 3 hợp phần:

  1. Kiểm tra thường xuyên: 01 đầu điểm (Hệ số 1), tính bằng điểm trung bình chung các bài kiểm tra thực hiện trên hệ thống phần mềm quản lý học tập LMS kết hợp kết quả đánh giá bài tập thảo luận nhóm.
  2. Kiểm tra định kỳ: 04 bài kiểm tra thực hành tương ứng sau các Chương 2, 3, 5 và 7 (Hệ số 2).
  3. Thi kết thúc môn học: Hình thức thi thực hành trực tiếp trên máy tính. Điều kiện dự thi bắt buộc: người học phải tham dự $\ge 80%$ thời lượng môn học và đạt điểm trung bình chung các điểm kiểm tra quá trình $\ge 5,0$ điểm (thang điểm 10).

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

Giáo trình Lập trình PHP cơ bản (ban hành năm 2024) thể hiện các điểm cập nhật cụ thể về mặt kỹ thuật và phương pháp đào tạo:

+-------------------------------------------------------------------------------+
|                      CÁC NỘI DUNG CẬP NHẬT KỸ THUẬT NỔI BẬT                   |
+-----------------------------------+-------------------------------------------+
| Nhóm nội dung                     | Dữ liệu kỹ thuật trích xuất trong giáo trình |
+-----------------------------------+-------------------------------------------+
| 1. Kiểm soát kiểu dữ liệu nghiêm ngặt| Khai báo type hint cho tham số hàm        |
|                                   | (ví dụ: float $so1, float $so2, float $so3)|
|                                   | Khai báo kiểu trả về: functionName(): type |
+-----------------------------------+-------------------------------------------+
| 2. Cấu trúc hàm nâng cao          | Bổ sung cú pháp Hàm ẩn danh (Anonymous    |
|                                   | functions / Closures) và hàm callback     |
+-----------------------------------+-------------------------------------------+
| 3. Hệ thống hàm mảng phong phú    | 18+ hàm xử lý mảng hiện đại: array_filter |
|                                   | array_reduce, array_combine, array_unique |
+-----------------------------------+-------------------------------------------+
| 4. Kiểm thực biểu mẫu web         | Tích hợp Validation Form cho URL và Email |
|                                   | Kiểm soát dữ liệu bắt buộc (Form Required)|
+-----------------------------------+-------------------------------------------+
| 5. Chuyển đổi số trong đào tạo    | Tích hợp 30 giờ đào tạo trực tuyến qua LMS|
+-----------------------------------+-------------------------------------------+
  1. Bổ sung các thành phần cú pháp PHP hiện đại: So với các giáo trình trước đây, tài liệu bổ sung cơ chế kiểm soát kiểu dữ liệu tham số hàm nghiêm ngặt (type hinting: float $so1, float $so2), cú pháp định nghĩa kiểu dữ liệu trả về cho hàm (: void, int, string, array), và chuyên đề hàm ẩn danh (anonymous function) dùng làm callback trong hàm xử lý mảng array_filter() và array_reduce().
  2. Tích hợp đầy đủ các hàm xử lý mảng tiêu chuẩn: Cung cấp chi tiết cách vận hành của hơn 18 hàm xử lý mảng hiện đại, hỗ trợ thao tác dữ liệu phức tạp mà không cần viết thuật toán thủ công.
  3. Mở rộng chuyên đề bảo mật và kiểm thực dữ liệu (Form Validation): Chương 6 bổ sung các kỹ thuật kiểm tra biểu mẫu bắt buộc (Form Required), chuẩn hóa kiểm tra định dạng URL và Email trước khi xử lý logic nghiệp vụ.
  4. Mô hình kết hợp trực tiếp và trực tuyến (Blended Learning): Phân bổ chính thức 30 giờ học tập và kiểm tra trực tuyến trên hệ thống LMS vào khung chương trình môn học, đáp ứng chuyển đổi số trong giáo dục nghề nghiệp.

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

  • Đối tượng người học chính: Học sinh, sinh viên trình độ Trung cấp chuyên ngành Công nghệ thông tin (Ứng dụng phần mềm) theo học học phần Lập trình PHP cơ bản (mã môn MH24) tại học kỳ thứ 4.
  • Điều kiện tiên quyết đối với người học: Người học bắt buộc phải hoàn thành học phần nền tảng MH11 - Lập trình căn bản, nắm vững tư duy giải thuật cơ bản, biến, cấu trúc logic và các khái niệm lập trình cơ sở trước khi tiếp cận giáo trình này.
  • Đối tượng giảng viên: Giảng viên các cơ sở giáo dục nghề nghiệp, trung cấp và cao đẳng công nghệ thông tin sử dụng làm tài liệu giảng dạy chuẩn, định hướng khung bài giảng lý thuyết, biên soạn giáo án thực hành phòng máy và làm căn cứ xây dựng ngân hàng đề thi đánh giá định kỳ, kết thúc học phần.
  • Đối tượng tham khảo tự học: Kỹ thuật viên phần mềm, lập trình viên mới bắt đầu muốn tự tiếp cận ngôn ngữ kịch bản PHP và nguyên lý thao tác cơ sở dữ liệu MySQL theo lộ trình học tập có cấu trúc sư phạm rõ ràng.

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

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

Giáo trình được thiết kế chuẩn hóa cho người học trình độ Trung cấp ngành Công nghệ thông tin (chuyên ngành Ứng dụng phần mềm). Nội dung cũng phù hợp cho sinh viên cao đẳng khối kỹ thuật hoặc người mới bắt đầu học lập trình web back-end từ mức độ cơ bản.

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

Theo quy định chương trình đào tạo của Trường Cao đẳng Xây dựng số 1, người học bắt buộc phải hoàn thành môn học tiên quyết MH11 - Lập trình căn bản. Người học cần nắm vững tư duy logic lập trình, khái niệm biến, luồng điều khiển và có kỹ năng sử dụng máy tính cơ bản.

3. Điểm khác biệt của giáo trình này so với các tài liệu PHP thông thường là gì?

Tài liệu được biên soạn gắn liền với khung chương trình 105 giờ chuẩn hóa theo quyết định của cơ sở giáo dục nghề nghiệp, trong đó thời lượng thực hành và bài tập ứng dụng chiếm tỷ trọng áp đảo (56 giờ thực hành trực tiếp + 30 giờ trực tuyến). Mỗi chủ đề lý thuyết đều đi kèm các đoạn mã thực thi trực tiếp trên máy chủ ảo XAMPP và hệ thống 22+ bài thực hành mảng cùng các bài toán thực tế.

4. Làm sao để 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 phần mềm XAMPP để thiết lập môi trường máy chủ Apache cục bộ, đặt toàn bộ mã nguồn bài tập vào thư mục htdocs và kiểm tra kết quả qua trình duyệt web tại địa chỉ http://localhost/. Song song với việc đọc lý thuyết cú pháp, người học cần trực tiếp gõ lại mã nguồn mẫu, giải quyết toàn bộ hệ thống bài tập thực hành sau mỗi chương và tự kiểm tra trên hệ thống bài tập LMS.

5. Giáo trình có danh mục tài liệu tham khảo chính thức nào đi kèm?

Giáo trình được xây dựng dựa trên sự đối chiếu với các tài liệu tham khảo chính thức bao gồm:

  • [1] Thạc Bình Cường, Vũ Thị Hậu (2007). Giáo trình thiết kế web. Nhà xuất bản Giáo dục.
  • [2] Patrick Carey. Create web pages with HTML and Dynamic HTML.
  • [3] Steven Suehring, Janet Valade. PHP, MySQL, JavaScript & HTML5 All-in-one for dummies.
  • [4] Đặ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 TPHCM.
  • [5] PHP - A beginner’s guide.

Kết luận

Giáo trình Lập trình PHP cơ bản do ThS. Đỗ Thị Xuân Thắm chủ biên (Trường Cao đẳng Xây dựng số 1, 2024) là tài liệu học tập chuẩn hóa cho học phần MH24 trình độ Trung cấp Công nghệ thông tin. Giáo trình cung cấp lộ trình đào tạo rõ ràng qua 7 chương kiến thức: từ cú pháp ngôn ngữ kịch bản máy chủ, cấu trúc dữ liệu mảng, kỹ thuật lập trình hàm và hướng đối tượng, đến xử lý biểu mẫu và kết nối cơ sở dữ liệu MySQL.

                           LỘ TRÌNH ĐÀO TẠO ĐỀ XUẤT
                           
 [MH11: Lập trình căn bản] (Môn tiên quyết)
 [MH24: Lập trình PHP cơ bản] (105 giờ: 15h LT + 56h TH + 30h LMS)
 [Xây dựng ứng dụng Web động hoàn chỉnh phía máy chủ]

Với việc kết hợp 105 giờ đào tạo thực hành - trực tuyến và hệ thống bài tập ứng dụng bám sát thực tế, tài liệu là căn cứ học thuật và sư phạm giúp người học hoàn thành các chuẩn đầu ra chuyên môn về xây dựng giao diện và phát triển ứng dụng web phía máy chủ.