MVC nâng cao 03 – Chạy ứng dụng với nhiều Controller

0
504

[ VIDEO TUT ]

  • Đang cập nhật…

    Ngoài ra bạn có thể tham khảo thêm các video khác về mô hình MVC tại đây.

Bấm Subscribe Nhận video học mới nhất :

1. Giới thiệu

Ở những bài trước chúng ta xây ứng dụng quản lý thành viên và mặc nhiên chúng ta chỉ cần sử dụng duy nhất một lớp đó là Class User (User.php), và điều này được thể hiện rõ nét khi chúng ta fix cứng Autoload với code như sau mà các bạn đã biết

Nếu như bây giờ tôi tạo thêm các Model, View, Controller cho chức năng quản lý sản phẩm thì sẽ như thế nào. Rõ ràng nhìn vào Autoload các bạn sẽ dễ dàng nhận ra một điều đó là hệ thống luôn luôn đi vào thư mục Model user để gọi lớp xử lý, và điều này là sai hoàn toàn.

Vậy bài hướng dẫn này chúng ta sẽ cùng nhau hoàn thiện ứng dụng của loạt bài trước thông qua việc chạy nhiều Controller khác nhau và Autoload vẫn tự động tìm tới được các Model tương ứng để phục vụ cho các Controller đó.

2. Nội dung file chạy chính

File chạy chính của ứng dụng vẫn là index.php như những bài trước, nội dung vẫn giữ nguyên không có gì thay đổi, tôi chỉ viết lại để các bạn hình dung ra được công việc của bài này

index.php

Các bạn chỉ lưu tâm đến đoạn sau ở code trên cho tôi nhé

Trên đây chính là code để chạy Controller sản phẩm đấy.

3. Khởi tạo Model Product

Trong thư mục models, các bạn tạo cho tôi thư mục con product, và trong thư mục này các bạn tiếp tục tạo cho tôi lớp Model Product (Product.php)

8

Nội dung code của Class này sẽ như sau:

4. Khởi tạo Controller Product

Trong thư mục controllers, các bạn tạo cho tôi thư mục con product, và trong thư mục này các bạn tiếp tục tạo cho tôi các file theo cấu trúc sau:

9

Nội dung code lần lượt của các file product.php và listed.php như sau:

product.php: đây là Controller chính của chứng năng quản lý sản phẩm này

listed.php: đây là Controller đại diện cho hành động liệt kê các sản phẩm

5. Khởi tạo View Product

Cuối cùng các bạn vào thư mục views để tạo cho tôi thư mục product, trong thư mục này các bạn tạo tiếp cho tôi file listed_view.php để hiện thị dữ liệu

10

Nội dung code của file này sẽ như sau

6. Hoàn thiện ứng dụng

Bây giờ các bạn hãy chạy ứng dụng để xem kêt quả hiển thị trên trình duyệt sẽ như thế nào nhé.

12

Các bạn thấy, chương trình thông báo là không tìm thấy lớp Product, bởi vì như tôi đã giải thích ngay phần đầu, Autoload của chúng ta nó sẽ tìm lớp Product trong thư mục user. Để giải quyết điều này thì chúng ta chỉ cần vào file __autoload.php sửa lại một chút là xong.

__autoload.php

Trong đó

  • Biến $GLOBALS là biến toàn cục của toàn cục, hay có thể gọi nó là siêu toàn cục vì nó có thể được truy cập từ bất cứ vị trí nào trên file cho dù ở trong hay ngoài hàm.

Chúng ta cùng nhau chạy thử ứng dụng lần cuối để chiêm ngưỡng thành quả cũng như kết thúc có hậu cho loạt bài hướng dẫn về mô hình MVC trong PHP của tôi ở đây nhé.

13

[ SOURCE CODE ]

  • Code mẫu của bài viết này, các bạn vui lòng download ở đây Source code

Thầy Giáo Quốc Dân: Tuấn Hoàng

[Total: 5    Average: 3.6/5]

LEAVE A REPLY

Please enter your comment!
Please enter your name here