Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
184,5 KB
Nội dung
Tìm hiểu về Zend Framework Chương I: Giới thiệu framework I. Framework là gì? • Một cấu trúc mới của ngôn ngữ giúp phát triển các phần mềm. • Một thư viện được xây dựng sẵn để người lập trình sử dụng. • Các chuẩn để xây dựng một framework: o MVC: có hỗ trợ Model-Control-View? o Multiple DB’s: làm việc được với nhiều loại database? o ORM: có hỗ trợ Object-Relation-Mapper? o Templates: có hỗ trợ cho template engine? o AJAX, validation, caching? o Auth Module: có module xác thực người dùng? o Module: tích hợp các module tiện ích như PDF,RSS… o EDPnew (Event Driven Programming): có hướng sự kiện? II. Tại sao chúng ta lại phải sử dụng framework? • Tăng tốc quá trình phát triển ứng dụng • Giảm thời gian và sự nỗ lực để có được một dự án. • Cung cấp sẵn các module cần thiết để xây dựng một project. • Dễ nâng cấp, sửa chữa do có sự phân hóa rõ ràng của mô hình MVC III. Các thành phần cơ bản của một framework: • Code Library: thư viện source code giúp các lập trình viên tra cứu về lập trình. Hỗ trợ 30 ngôn ngữ lập trình: C#, Java, VB, PHP, Javascript… Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework • Scripting Language: sử dụng ngôn ngữ kịch bản • API: sử dụng các hàm API xây dựng sẵn IV. Các PHP framework phổ biến hiện nay: • Trong vài năm qua, PHP đã tiến triển thành một ngôn ngữ script được lựa chọn hầu hết bởi các nhà phát triển website, dẫn đến sự bùng nổ của PHP framework. Câu hỏi đặt ra: “Hiện nay, PHP framework nào là phổ biến nhất? ” • Dưới đây là 5 framework được đánh giá là phổ biến và tốt nhất hiện nay: o Zend Framework: có một cộng đồng phát triển rộng lớn, và nó tập trung phát triển ứng dụng web theo phong cách 2.0. Nó có các tính năng mạnh mẽ, phải có kiến thức sâu rộng về PHP để có thể sử dụng nó. o CakePHP: lựa chọn tuyệt vời cho các lập trình viên có kiến thức nâng cao về php. Một framework mạnh về khía cạnh rapid development, đẩy mạnh quá trình phát triển ứng dụng, có hệ thống hỗ trợ, tính đơn giản và môi trường mở cao o Symfony: nhằm mục đích giúp đỡ các lập trình viên nâng cao hơn các website doanh nghiệp, là một PHP framework mã nguồn mở, có đầy đủ tính năng cần thiết, nhưng lại hạn chế về mặt tốc độ so với các framework khác. o CodeIgniter: dễ hiểu, dễ sử dụng, hiệu suất cao, lý tưởng cho việc xây dựng các ứng dụng lưu trữ, chia sẻ dữ liệu. Phù hợp cho người mới làm quen với framework. o Seagull: một framework cực kỳ dễ sử dụng cho người mới cũng như chuyên gia về PHP, cung cấp mẫu ứng dụng tùy chỉnh để phù hợp với nhu cầu, Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework cung cấp các tùy chọn máy chủ để xây dựng ứng dụng web nhanh và dễ dàng. Chương 2: Mô hình MVC trong framework I. Mô hình MVC là gì? • Cách thức làm việc của một PHP framework phải kể đến Model-View-Controller (MVC). • MVC là một mô hình trong lập trình, cho phép tách biết các mã nghiệp vụ (bussiness logic) và giao diện (UI) thành cách thành phần riêng biệt. • MVC: o Model : được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu vào các kho chứa dữ liệu. Tất cả các nghiệp vụ logic được thực thi ở Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework Model. Dữ liệu vào từ người dùng sẽ thông qua View đến Controller và được kiểm tra ở Model trước khi lưu vào cơ sở dữ liệu. Việc truy xuất, xác nhận, và lưu dữ liệu là một phần của Model o View : View hiển thị các thông tin cho người dùng của ứng dụng và được giao nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gửi đi các yêu cầu đến controller, sau đó là nhận lại các phản hồi từ controller và hiển kết quả cho người dùng. Các trang HTML, JSP, các thư viện thẻ và các file nguồn là một phần của thành phần View. Trong các web framework, nó gồm 2 phần chính: + Template file định nghĩa cấu trúc và cách thức trình bày dữ liệu cho user. Ví dụ như layout, color, windows … + Logic xử lý cách áp dụng dữ liệu vào cấu trúc trình bày. Logic này có thể bao gồm việc kiểm tra định dạng dữ liệu, chuyển đổi định dạng dữ liệu sang một sạng dữ liệu trung gian, lựa chọn một cấu trúc hiện thị phù hợp. o Controller : controller đảm nhiệm việc cập nhật bộ phận hiển thị (View) khi cần thiết. Bộ điều khiển này nhận dữ liệu nhập từ người dùng, truy xuất các thông tin cần thiết từ mô hình trong (Model), và cập nhật thích hợp phần hiển thị (View). Giao diện với người sử dụng phần mềm được thiết lập nhờ sự tương tác qua lại giữa View và Controller: hai bộ phận này chính là phần trình bày bên ngoài của đối tượng biểu diễn bên trong. MVC chia nhỏ quá trình xử lý của một ứng dụng, giúp người lập trình làm việc trên từng thành phần Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework riêng lẻ, không ảnh hưởng đến các thành phần khác giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp. II. So sánh mô hình MVC với mô hình 3 lớp: • Giống nhau: o Cả hai đều để tách rời programming core/business logic ra khỏi những phụ thuộc về tài nguyên và môi trường. o Trong một ứng dụng nhỏ, MVC thể hiện thế nào? Presentation thể hiện giống như chức năng của View và Controller. Business và Database thể hiện giống như chức năng của Model. Như thế nhìn ở góc độ này, thì MVC tương đương với 3-layer (tất nhiên có chồng chéo như hình vẽ) • Khác nhau: o Trong 3-layers, quá trình đi theo chiều dọc, bắt đầu từ Presentation, sang BL, rồi tới Data, và từ Data, chạy ngược lại BL rồi quay ra lại Presentation. Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework o Còn trong mẫu Supervising Controller, dữ liệu được nhận bởi View, View sẽ chuyển cho Controller cập nhật vào Model, rồi sau đó dữ liệu trong Model sẽ được đưa lại cho View mà không thông qua Controller, do vậy luồng xử lý này có hình tam giác. Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework Chương 3: Zend Framework (ZF) I. Giới thiệu Zend Framework: 1. Zend Framework là gì? • ZF là một thư viện các lớp được xây dựng dựa trên nền tảng ngôn ngữ PHP, theo hướng OOP. • ZF được định hướng theo mô hình MVC. 2. Ưu khuyết điểm của Zend Framework: • ZF là một PHP framework ra đời khá trễ, tiếp thu những tinh hoa và khắc phục những sai lầm mà các framework trước mắc phải. • Ưu điểm: o ZF được viết theo kiểu OOP nên nó thừa hưởng các thế mạnh của kiểu viết này. Các lớp của ZF được BA (Business Analysis) rất chuẩn và khi cần mở rộng bạn có thể dùng thể dùng tính chất thừa kế của OOP. Nói chung là chúng ta không phải chỉnh sửa core của ZF. o Hầu như các version mới của ZF ko có nhiều thay đổi trong core nên ta có thể dễ dàng update. o ZF tích hợp được gần như tất cả các thư viện PHP và các CMS khác để sử dụng. VD: Smarty - Pear - FCKEditer - Drupal o Các viết của ZF rất thân thiện và đơn giản. Tích hợp những mới nhất của lập trình web như: JSON - Search - Syndication - Web Services Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework o ZF được sử dụng trong các dự án lớn và có kế hoạch phát triển dài lâu • Khuyết điểm: o Mất nhiều thời gian để tìm hiểu về thư viện của ZF o Một số lớp chưa ổn định, có sự thay đổi, gây khó khăn cho người sử dụng khi cập nhật các phiên bản. 3. Quá trình phát triển của Zend Framework: • Trải qua giai đoạn hình thành và phát triển, Zend Framework hiện tại có 10 phiên bản, và phiên bản mới nhất hiện tại là 1.10: o Zend Framework 1.10 o Zend Framework 1.9 o Zend Framework 1.8 o Zend Framework 1.7 o Zend Framework 1.6 o Zend Framework 1.5 o Zend Framework 1.0 o Zend Framework 0.9 o Zend Framework 0.8 o Zend Framework 0.6 II. Cách thức hoạt động của mô hình MVC trong Zend Framework: • Bất cứ một ứng dụng nào được xây dựng theo mô hình MVC nào thì cũng điều phải tuân thủ những nguyên tắc mà mô hình MVC mang lại. • Khi có một request từ người dùng. Controller sẽ tiếp nhận request. Phân tích request, controller sẽ phân luồng request để gọi đến Model và View tùy vào request mà người dùng đã gửi Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework • Một ứng dụng xây dựng theo mô hình MVC cơ bản hoạt động theo nguyên tắc sau: o Khi người sử dụng người gửi một request từ browser thì nơi đầu tiên tiếp nhận request đó đầu tiên là controller. o Dựa vào request nhận được, controller sẽ phân tích request, phân luồng request. Tùy vào request, mà controller sẽ phân luồng đến model và view. Ví dụ: Một request được controller chỉ phân luồng đến view. Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework Để đăng ký một tài khoản người sử dụng, thì trước hết phải có form đăng ký. Cách hoạt động để hiện form đăng ký này trong mô hình MVC hoạt động như sau: từ request Đăng Ký, controller tiếp nhận, controller phân tích và thấy request này không yêu cầu đến cơ sở dữ liệu, do đó nó không tương tác với model, nó chỉ yêu cầu hiển thị form đăng ký, vì vậy controller phải phân luồng đến view để đáp ứng yêu cầu của request. Sau đó, từ view trả dữ liệu về dưới dạng GUI. Cuối cùng là controller trả kết quả về trình duyệt một gói response dưới dạng HTML. Một request được controller phân luồng từ model đến view Tiếp tục giai đoạn sau khi hiện được form đăng ký ra trình duyệt. Ví dụ, sau khi đã validate form hợp lệ (AJAX). Khi người dùng submit form để gửi request yêu cầu đăng ký form, cũng theo nguyên tắc, controller sẽ tiếp nhận request này, phân tích request. Lúc này, controller nhận thấy rằng request yêu cầu lưu thông tin người dùng vào CSDL. Lúc này, controller phân luồng request đến model đế đáp ứng request. Sau đó trả về cờ để báo cho controller biết là việc lưu trữ có thành công hay Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng [...]... rõ ràng về mặt hình thức lẫn chức năng Điều này giúp người sử dụng thuận tiện hơn rất nhiều trong quá trình làm việc Chương 4: Cài đặt và cấu hình thư viện Zend Framework Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework Chương 5: Các lớp trong mô hình MVC I Các lớp cơ bản theo mô hình MVC trong Zend Framework: A Zend_ DB: (Dũng) B Zend_ View(Lụa) 1 Zend_ View: • Zend_ View... đến nội dung (body content) và cuối cùng kích họat để chạy chương trình (dispath) o 2 Cách thành phần có trong Zend_ View: C Zend_ Controller(Âu) D Zend_ Application: II Một số lớp khác trong Zend Framework: 1 Zend_ Form: Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng ... trong file bootstrap: Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework //Disable ViewRenderer helper $front->setParam(‘noViewRenderer’,true); Về bản chất ,Quá trình này Có 2 bước chính : Script Controller của bạn sẽ tạo một thể hiện của Zend_ view và gán các biến mà nó thể hiện o Controller sẽ yêu cầu Zend_ View giao trả một View riêng để sinh mã đưa ra ngoài ,bằng cách giao... dựng trong lớp filters : chứa các lớp giúp cho chúng ta có thể thay đổi hoặc xóa Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework những dữ liệu không mong muốn trong quá trình nhập liệu controllers/ Là phần điều khiển toàn bộ logic về hoạt động của giao diện, tương tác với thao tác của người dùng và cập nhật, thao tác trên dữ liệu theo đầu vào nhận được và điều khiển... trình duyệt dưới dạng HTML Sau đó được biên dịch thông qua Java Servlet controller tiếp nhận, phân tích request Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework để phân luồng đến model và view Cuối cùng trả về trình duyệt dưới dạng một response HTML III Cấu trúc thư mục của một project trong ZF: • Đối với mỗi project được xây dựng trong ZF đều có cấu trúc thư mục của một... như:loginAction,registerAction,displayprofileAc tion,… Chứa các lớp mở rộng từ Zend_ Action Thực hiện nhiệm vụ điều hành trang configs/ Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework Chứa các file config của project: application.ini bootstrap.php Cần có 1 file quan trọng chính là bootstrap, làm nhiệm vụ “đón đầu” tất cả các request vào, sau đó khởi tạo controller.. .Tìm hiểu về Zend Framework không? Dựa vào cờ này, controller lại tiếp tục phân luồng đến view để hiện thị thông tin đến người dùng là đăng ký có thành công hay không? • Ngoài ra, mô hình MVC trong ZF còn có thể... Cung cấp tập hợp các lớp được trừu tượng hóa sử dụng cho việc truy xuất dữ liệu: Zend_ DB, Zend_ DB_Table views/ scripts : Chứa các file ánh xạ đến các controller/action để hiển thị trang giao diện tương ứng helpers : chứa các lớp mà user tạo ra và các lớp này sẽ được nạp tự động cho đối tượng Zend_ View thông qua Zend_ View_Helper để gọi đến hàm được xây dựng trong lớp filters : chứa các lớp giúp... controller sẽ gồm nhiều action Zend Framework sử dụng đối tượng Front Controller để quản lý các Request được gởi đến Web server Và dựa trên Request đó, nó sẽ gọi các lớp xử lý Model và trả về kết quả trình bày với các lớp View Ví dụ: Trong website eshop sẽ có UserController bao gồm các actio như:loginAction,registerAction,displayprofileAc tion,… Chứa các lớp mở rộng từ Zend_ Action Thực hiện nhiệm... khỏi Model và Controller scripts • Nó còn cung cấp một hệ thống helpers, filters, và variable escaping Zend_ View cho phép chúng ta chia cắt chương trình và giao nhiệm vụ hiển thị giao diện theo mổi phương thức Actionđó,nghĩa là mổi Action này sẽ đi với một trang hiển thị ra trình duyệt • ViewRenderer (Zend_ Controller_Action_Helper_ViewRenderer) lo việc nạp các thuộc tính view ($this->view) và đảm trách . Zend Framework 1.9 o Zend Framework 1.8 o Zend Framework 1.7 o Zend Framework 1.6 o Zend Framework 1.5 o Zend Framework 1.0 o Zend Framework 0.9 o Zend Framework 0.8 o Zend Framework 0.6 II. Cách. Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu về Zend Framework Chương 3: Zend Framework (ZF) I. Giới thiệu Zend Framework: 1. Zend Framework là gì? • ZF là một thư viện các lớp được. Đức Thắng Tìm hiểu về Zend Framework Chương 5: Các lớp trong mô hình MVC I. Các lớp cơ bản theo mô hình MVC trong Zend Framework: A. Zend_ DB: (Dũng) B. Zend_ View(Lụa) 1. Zend_ View: Zend_ View