Mục tiêu

Ứng dụng quản lý khách hàng

Luyện tập phát triển các ứng dụng quản lý sử dụng kiến trúc MVC.

Điều kiện

  • Nắm được kiến trúc MVC
  • Biết cách triển khai các ứng dụng quản lý sử dụng kiến trúc MVC

Mô tả- Ứng dụng quản lý khách hàng

Trong phần này, chúng ta sẽ phát triển một ứng dụng quản lý khách hàng. Ứng dụng có các chức năng chính sau:

  • Hiển thị danh sách khách hàng
  • Thêm một khách hàng mới
  • Sửa đổi thông tin của khách hàng
  • Xoá một khách hàng

Một khách hàng bao gồm các thành phần

  • id: Id của khách hàng
  • name: Tên của khách hàng
  • email: Email của khách hàng
  • address: Địa chỉ của khách hàng

Hướng dẫn

Triển khai kiến trúc MVC bằng cách định nghĩa các thành phần như sau:

Model:

  • Lớp Customer: Đại diện cho một khách hàng
  • Lớp CustomerDB: Chứa các phương thức để làm việc với CSDL

View:

  • File list.php: Hiển thị danh sách khách hàng, bao gồm: Tên, email, address của khách hàng
  • File add.php: Chứa form thêm một khách hàng mới
  • File edit.php: Chứa form chỉnh sửa một khách hàng
  • File delete.php: Chứa form để xoá một khách hàng
  • File view.php: Hiển thị nội dung chi tiết của một khách hàng

Controller:

  • Lớp CustomerController: Chứa các phương thức để xử lý các thao tác của người dùng

Ngoài ra, file index.php là file sẽ đón nhận tất các các request, phân loại theo các trang và chuyển request đến từng phương thức tương ứng của Controller.

Tạo Database

Tạo bảng customers bao gồm các cột:

  • id: integer – tự tăng
  • name: varchar
  • email: varchar
  • address: varchar
Chức năng 1: Thêm mới khách hàng

Bước 1: Tạo class DBConnection Model

Trong thư mục model tạo class DBConnection  để thực hiện kết nối cơ sở dữ liệu

File model/DBConnection.php

Bước 2: Tạo Class Customer Model đại điện cho một khách hàng

Bước 3: Tạo phương thức create trong file model/CustomerDB thực hiện insert dữ liệu vào database

Bước 4: Trong controller/CustomerController.php tạo 2 phương thức

  • Phương thức khởi tạo __construct() khai báo kết nối cơ sở dữ liệu
  • Phương thức add() trả về view add.php khi method là GET và thực hiện thêm mới khách hàng khi method là POST

Bước 5: Tạo form thêm mới khách hàng

Nội dung file view/add.php

Bước 6: Điều hướng đến trang add trong trang index.php

Chạy http://localhost/management-customer-mvc/index.php?page=add  chạy và kiểm tra

Chức năng 2: Hiển thị danh sách khách hàng

Bước 1. Trong file model/CustomerDB.php viết hàm getAll() trả về tất cả khách hàng

Bước 2: Trong file controller/CustomerController.php tạo hàm index gọi đến hàm getAll() và trả về view/list.php

Bước 3: Tạo view/list.php hiển thị danh sách khách hàng

Bước 4: Điều hướng cho ứng dụng trong file index.php

Chạy http://localhost/management-customer-mvc/ để xem kết quả

Chức năng 3: Xóa một khách hàng

Bước 1: Tạo hàm get() để lấy ra khách hàng theo id và hàm delete() trong file model/CustomerDB để xóa một khách hàng

Bước 2: Trong file controller/CustomerController.php tạo hàm delete để gọi đến hàm delete trong model

Bước 3: Tạo view/delete.php

Bước 4: Cập nhật view/list.php để gọi đến hàm delete() khách hàng

Bước 5: Điều hướng đến trang delete khi người dùng ấn xóa khách hàng trong file index.php

Chức năng 4: Update một khách hàng

Bước 1: Tạo hàm update() trong file model/CustomerDB để update thông tin khách hàng

Bước 2: Trong file controller/CustomerController.php tạo hàm edit để gọi đến hàm update trong model

Bước 3: Tạo view/edit.php

Bước 4: Thêm link update thông tin khách hàng tại tranh danh sách khách hàng

Chạy ứng dụng và quan sát kết quả.

Như vậy chúng ta đã hoàn thành được các tính năng cơ bản của ứng dụng quản lý khách hàng.

Qua bài tập trên chúng ta đã luyện tập:

  • Luyện tập thực hành với MVC
  • Luyện tập chức năng thêm, sửa, xóa đơn giản

Mã nguồn đầy đủ của ứng dụng có thể tham khảo ở đây: https://github.com/codegym-vn/php-management-customer-mvc/

Trên đây CodeGym đã cùng với bạn luyện tập phát triển các ứng dụng quản lý sử dụng kiến trúc MVC. Hãy chụp ảnh màn hình và nộp bài thực hành của bạn trên CodeGymX để cùng nhau luyện tập nhé!