2 Gọi model để xử lý nghiệp vụ

Một phần của tài liệu Giáo trình Phát triển ứng dụng web: Phần 2 - Lê Đình Thanh, Nguyễn Việt Anh (Trang 57 - 58)

18. $model = new SumModel($x, $y);

19. $model->solve();

20. $ret = $model->getSum(); //Kết quả xử lý nghiệp vụ

21.

22. // 3. Gọi view để tạo nội dung 23. $view = new SumView($x, $y, $ret); 23. $view = new SumView($x, $y, $ret);

24. $html = $view->render(); 25. 25. 26. // 4. Trả lời trình khách 27. echo $html; 28. } else { 29. echo "Nhập x, y là các số. Ví dụ ?x=3&y=-4"; 30. } 31. } 32. }

Thành phần điều khiển đƣợc cài đặt bằng một lớp với các phƣơng thức thực hiện chức năng điều phối, nhƣ phƣơng thức proc() trong ví dụ này. Mỗi phƣơng thức thực hiện điều phối của thành phần điều khiển còn đƣợc gọi là một hành động

(action). Hành động điều phối thực hiện kiểm tra dữ liệu vào, chuyển dữ liệu vào cho thành phần mơ hình, nhận kết quả xử lý từ thành phần mơ hình rồi chuyển cho thành phần giao diện, nhận nội dung web từ thành phần giao diện rồi gửi cho trình khách. Ngồi ra, hành động điều phối cũng phải đảm nhận một số bƣớc xử

WebAppDevLê Đình Thanh, Nguyễn Việt Anh

142 lý khác để thực hiện các nhiệm vụ còn lại bên phục vụ (các Mục 6.1.3, 6.1.4, 6.1.5). Những nhiệm vụ này sẽ đƣợc trình bày trong những chƣơng riêng sau chƣơng

này.

Cuối cùng, trang index.php, khai thác các thành phần kể trên, có nội dung nhƣ

sau:

1. <?php

2. require_once("control.php");

3. $ctrl = new SumControl();

4. $ctrl->proc();

Đối tƣợng điều khiển đƣợc khai báo và hành động của nó đƣợc gọi để bắt đầu

thực thi chuỗi xử lý với sự tham gia của cả các thành phần mơ hình và giao diện ở phía sau.

6.5. GIAO DIỆN CẤU PHẦN

Trong thiết kế MVC, thành phần giao diện có thể trả về một trang web đầy đủ, nhƣ trang view.php ở ví dụ trƣớc, nhƣng cũng có thể chỉ trả về một đoạn nội dung cấu phần của trang web mà thôi. Việc trả về các đoạn cấu phần trang web có ƣu điểm, so với trả về cả trang đầy đủ, là khả năng tích hợp cấu phần trang web vào

bất kỳ vị trí nào ở trang bất kỳ.

Xét ví dụ thành phần giao diện MVC trả về cấu phần trang web nhƣ sau. Dự án sum ở Mục 6.4 sẽ đƣợc thay đổi nội dung các tệp view.php và index.php. Trong tệp view.php, phƣơng thức render() của lớp SumView không trả về cả trang web nữa mà chỉ trả về một đối tƣợng <div> chứa nội dung cần hiển thị. Mã nguồn tệp view.php đƣợc sửa đổi nhƣ sau:

1. <?php

2. // view.php: Trình diễn kết quả tính tổng hai số

3. class SumView {

4. private $x;

5. private $y;

Một phần của tài liệu Giáo trình Phát triển ứng dụng web: Phần 2 - Lê Đình Thanh, Nguyễn Việt Anh (Trang 57 - 58)

Tải bản đầy đủ (PDF)

(126 trang)