Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
1,41 MB
Nội dung
TRUNG TÂ M TIN HỌC ĐẠI HỌC KHOA HỌC TỰ NHIÊN-TP.HCM LẬP TRÌNHPHPNÂNGCAOLẬPTRÌNHPHPNÂNGCAO MÔ HÌNHMVC+ZF2MÔHÌNHMVC+ZF2 1 TRUNG TÂ M TIN HỌC ĐẠI HỌC KHOA HỌC TỰ NHIÊN-TP.HCM Bài 1: MôhìnhMVC Bài 1: MôhìnhMVC 1. Lịch sử MVC 2. Giới thiệu môhìnhMVC 2. Giới thiệu môhìnhMVC 3. Ưu điểmvànhược điểmcủamôhình MVCMVC 4. L ý do nên làm vi ệ ctheomôhìnhMVC ý ệ 2 Bài 1: MôhìnhMVC 11 Lị hLị h ửử MVCMVC 1 . 1 . Lị c hLị c h s ử s ử MVCMVC Được đưa ra bởi các nhà nghiên cứu tại phòng thí Được đưa ra bởi các nhà nghiên cứu tại phòng thí nghiệm Xerox PARC Palo Alto, dựa trên Ngôn ngữ lậptrình Smalltalk - lậ p trình theo hướn g đốitượn g và g iao p g g g điện đồ họa GUI, công bố cuốinhững năm 70 đầu những năm 80. ế ế ấ ề Th ế hệ ti ế p theo củaMVC xu ấ thiện cùng vớihệđi ề u hành NeXT và các phầnmềmcủa nó. Kiế tú à à à đ hát t iể àh à thiệ Kiế n t r ú c n à y ng à y c à ng đ ược p hát t r iể n v à h o à n thiệ n nhằm giải quyết các vấn đề phát sinh cũng như các giải pháp cho quá trình phát triểnphầnmềm Vì vậy sau đó pháp cho quá trình phát triển phần mềm . Vì vậy sau đó , lầnlượt các MVC framework ra đờidựatrênmôhình MVC như: CodeI g nite r , Zend… 3 g , Bài 1: MôhìnhMVC 22 GiớiGiới thiệthiệ ôô hì hhì h MVCMVC 2 . 2 . GiớiGiới thiệ u thiệ um ô m ô hì n hhì n h MVCMVC MVC (Model View Controller): là một MVC (Model – View - Controller): là một design pattern, theo hướng đốitượng, cho ể ỏ ủ phép developer có th ể chia nh ỏ code c ủ a mình ra thành 3 p hần: p – Model: duy trì dữ liệu và các business rule – View: hiển thị dữ liệu và các thành phần trong – View: hiển thị dữ liệu và các thành phần trong giao diệnngười dùng Controller : điều khiển các sự kiện của người – Controller : điều khiển các sự kiện của người dùng có ảnh hưởng đến Model và View 4 Bài 1: MôhìnhMVC 22 GiớiGiới thiệthiệ ôô hì hhì h MVCMVC 2 . 2 . GiớiGiới thiệ u thiệ um ô m ô hì n hhì n h MVCMVC Người dùng tương tác ằ (b ằ ng cách click vào link hoặc submit form…) controller sẽđiều khiểnhoạt động này và đưarahànhđộng thích hợp (thao tác tới model và cập hật i) 5 n hật v i ew ) Bài 1: MôhìnhMVC 22 GiớiGiới thiệthiệ ôô hì hhì h MVCMVC 2 . 2 . GiớiGiới thiệ u thiệ um ô m ô hì n hhì n h MVCMVC Trong đó : Trong đó : – Controller: có thể gửiyêucầu đến View liên kếtcủa nó để thay đổi hiển thị trên View, cũng có thể gửi yêu nó để thay đổi hiển thị trên View, cũng có thể gửi yêu cầu đến model để cậpnhậttrạng thái của model. – Model: thôn g báo đến các View và Controller có liên g quan khi có thay đổitrạng thái. Thông báo này cho phép các View tạo ra các hiểnthịđượccậpnhậtvà h hé á Ctll th đổi á d c h op hé pc á c C on t ro ll er th ay đổi c á c comman d – View: yêu cầu Model gửi các thông tin mà nó cần để tạo ra các hiển thị trên View tạo ra các hiển thị trên View . 6 Bài 1: MôhìnhMVC 33 ƯƯ điểđiể àà hh điểđiể ủủ ôô hì hhì h MVCMVC 3 . 3 . Ư u Ư u điể m điể mv à v à n h ượcn h ược điể m điể mc ủ ac ủ am ô m ô hì n hhì n h MVCMVC Ưu điểm Ưu điểm – Phát triểnphầnmềm: chuyên nghiệp hóa, có thể chia công việc cho nhiều nhóm chuyên môn khác nhau: nhóm thiếtkế, nhóm lập trình, nhóm tổ chức database Giúp phát triển ứng dụng nhanh, đơngiản, dễ nâng cấp. Bảo trì Với các lớp đợc phân chia các thành phần của – Bảo trì : Với các lớp đ ư ợc phân chia , các thành phần của mộthệ thống dễđược thay đổi, nhưng sự thay đổicóthể đư ợ ccôl ập tron g từn g lớ p , ho ặ cchỉảnh hưởn g đếnlớ p ợ ập g g p ặ g p ngay gầnkề của nó, chứ không làm ảnh hưởng cả chương trình. Mở ộ Việ thê hứ ă à h từ lớ ẽ dễ – Mở r ộ ng: Việ c thê mc hứ cn ă ng v à oc h o từ ng lớ ps ẽ dễ dàng hơn là phân chia theo cách khác. 7 Bài 1: MôhìnhMVC 33 ƯƯ điểđiể àà hh điểđiể ủủ ôô hì hhì h MVCMVC 3 . 3 . Ư u Ư u điể m điể mv à v à n h ượcn h ược điể m điể mc ủ ac ủ am ô m ô hì n hhì n h MVCMVC Nhược điểm Nhược điểm – Thích hợpvớidự án vừavàlớncònđốivới ỏ dự án nh ỏ việcápdụng môhìnhMVC sẽ gây cồng kềnh, tốnthời gian trong quá trình phát ể tri ể n. – Tốnthời gian trung chuyểndữ liệugiữacác lớp 8 Bài 1: MôhìnhMVC 44 LýLý dd êê làlà iệiệ thth ôô hì hhì h MVCMVC 4 . 4 . LýLý d o d o n ê nn ê n là m là mv iệ cv iệ c th eo th eo m ô m ô hì n hhì n h MVCMVC Vì môhìnhMVC đã chia ứng dụng thành Vì môhìnhMVC đã chia ứng dụng thành M, V và C nên developer có thể tạora ề ề nhi ề u view và nhi ề u cotrolle r cho các model mà khôn g p hải đốimặtvớiviệc g p thay đổi trong thiếtkế model. => Giúp cho việc duy trì di chuyển và tổ => Giúp cho việc duy trì , di chuyển và tổ chức ứng dụng dễ dàng hơn. 9 Bài 1: MôhìnhMVC 44 LýLý dd êê làlà iệiệ thth ôô hì hhì h MVCMVC 4 . 4 . LýLý d o d o n ê nn ê n là m là mv iệ cv iệ c th eo th eo m ô m ô hì n hhì n h MVCMVC Đối với những người mới thì việc xây Đối với những người mới thì việc xây dựng ứng dụng dựatrênmôhìnhMVC phứctạp và lãng phí vì công việc này như là xâ y dựn g mộtdự án lớn, tu y nhiên “bí y g y mật” của MVC pattern không nằm ở chỗ viết code mà ở chỗ duy trì nó viết code mà ở chỗ duy trì nó . Cho phép sửa đổi code mà không ảnh h ở hiề đế á thà h hầ khá h ư ở ng n hiề u đế nc á c thà n h p hầ n khá c. 10 [...]... hàng hàng 11 Bài 1: MôhìnhMVC 12 TRUNG TÂM TIN HỌC ĐẠI HỌC KHOA HỌC TỰ NHIÊN-TP.HCM LẬP TRÌNH PHPNÂNGCAO MÔ HÌNHMVC+ ZEND FRAMEWORK 1 TRUNG TÂM TIN HỌC ĐẠI HỌC KHOA HỌC TỰ NHIÊN-TP.HCM Bài 2: Xây dựng ứng dụng theo môhìnhMVC 1 2 3 4 Xây dựng Model Xây dựng Controller Xây dựng View Xây dựng ứng dụng đầu tiên theo mô ầ hìnhMVC 2 Bài 2: Xây dựng ứng dụng theo môhìnhMVCMôhìnhMVC hì h 3 Bài 2:... món ăn này 20 Bài 2: Xây dựng ứng dụng theo môhìnhMVC 4 Xây dựng ứ d 4 Xâ d ứng dụng đầ tiên theo mô hì h MVC đầu iê h ô hình Khi người dùng chọn một món ăn 21 Bài 2: Xây dựng ứng dụng theo môhìnhMVC 4 Xây dựng ứ d 4 Xâ d ứng dụng đầ tiên theo mô hì h MVC đầu iê h ô hình Phân tích yêu cầu – Theo yêu cầu: các món ăn sẽ có các thông tin: tên món, mô tả, hình ả ả ảnh Xây dựng class Mon_an để tổ chức... $this->model->getBook($_GET['book']); / p p ; include 'view/viewbook .php' ; } } } 14 Bài 2: Xây dựng ứng dụng theo môhìnhMVC 3 Xây dựng Vi 3 Xâ d View Xây dựng View là bước đơn giản nhất trong quá trình xây dựng ứng dụng theo môhìnhMVC C Mỗi View là một kết quả hiển thị theo yêu cầu 15 Bài 2: Xây dựng ứng dụng theo môhìnhMVC 3 Xây dựng Vi 3 Xâ d View Ví dụ: cũng với ví dụ trên – Phân tích:... dựng ứng dụng theo môhìnhMVC Bài tậ tập Hãy thực hiện cài đặt ví dụ nêu trên trên Danh D h mục sách á h Hiển thị chi tiết sách theo lựa chọn của người dù l h ủ ời dùng 19 Bài 2: Xây dựng ứng dụng theo môhìnhMVC 4 Xây dựng ứ d 4 Xâ d ứng dụng đầ tiên theo mô hì h MVC đầu iê h ô hình Yêu cầu: Xây dựng ứng dụng hiển thị món ăn ba miền trong đó hiển thị danh mục món ăn ba miền kèm hình ả ề ảnh, khi... ứng dụng theo môhìnhMVC 3 Xây dựng Vi 3 Xâ d View TitleAuthorDescription < ?php // hiển thị danh mục sách foreach ($books as $title => $book) > { echo ' '.$book>title.' '.$book->author.'tr>'; } ?> 17 Bài 2: Xây dựng ứng dụng theo mô hình MVC 3 Xây dựng Vi 3 Xâ d View < ?php // hiển... ứng dụng theo môhìnhMVC 2 Xây dựng C t ll 2 Xâ d Controller class Controller { public $model; public function construct() { $this->model = new bookModel(); } public function invoke() { if (!isset($_GET['book'])) { // khi người dùng chưa lựa chọn thì sẽ hiển thị danh mục sách $books = $this->model->getBookList(); include 'view/booklist .php' ; } 13 Bài 2: Xây dựng ứng dụng theo mô hình MVC 2 Xây dựng... dựng ứng dụng theo mô hình MVC 1 Xây dựng M d l 1 Xâ d Model Thường thì nên xây dựng Model trước bởi vì Model phục vụ như là nền tảng dữ liệu cho toàn bộ ứng dụng web; Nhiều chức năng của Controller phụ thuộc vào model Trong Model sẽ có các phương thức xử lý liên quan đến g p g ý q dữ liệu: dữ liệu trực tiếp hoặc dữ liệu lấy từ CSDL 4 Bài 2: Xây dựng ứng dụng theo môhìnhMVC 1 Xây dựng M d l... sách theo lựa chọn của người dùng 5 Bài 2: Xây dựng ứng dụng theo môhìnhMVC 1 Xây dựng M d l 1 Xâ d Model Phân tích yêu cầu: – Theo yêu cầu: các món ăn sẽ có các thông tin: title, author, description Xây dựng class Book để tổ chức thông tin này Class này sẽ được gọi sử dụng tại model của ví dụ 6 Bài 2: Xây dựng ứng dụng theo môhìnhMVC 1 Xây dựng M d l 1 Xâ d Model class Book { public $title; public... } 10 Bài 2: Xây dựng ứng dụng theo môhìnhMVC 2 Xây dựng C t ll 2 Xâ d Controller Controller được xem là “cơ bắp” của ứng cơ bắp dụng Mọi thứ mà người dùng có thể thực hiện trên trang web đều được thể hiện trong Controller Điề khiể các sự kiệ của người dù có Điều khiển á kiện ủ ời dùng ó ảnh hưởng đến Model và View 11 Bài 2: Xây dựng ứng dụng theo môhìnhMVC 2 Xây dựng C t ll 2 Xâ d Controller...Bài 1: MôhìnhMVC 4 4 Lý d nên là việc th môhìnhMVC do ê làm iệ theo ô hì h Cho phép việc làm việc nhóm trở nên dễ dàng hơn vì nhóm nào sẽ làm việc của nhóm đó dựa trên thế mạnh của mình ế ủ – Nhóm View Team sẽ chịu trách nhiệm