Kiến trúc Zend Framework

Một phần của tài liệu Xây dựng một ứng dụng Quản lý phân công giảng dạy cho Khoa CNTT, Đại học Sài Gòn (Trang 73 - 78)

7. Ý nghĩa đề tài

3.2.Kiến trúc Zend Framework

3.2.1. Các thành phần của Zend Framework

Zend Framework là một framework mã nguồn mở hoàn chỉnh, có các thành phần riêng biệt được tập hợp thành nhóm rất rõ ràng.

Tổng quan về các thành phần của Zend Framework :

Core:

Zend_Controller Zend_View Zend_Db Zend_Config

Zend_Filter & Zend_Validate Zend_Registry

Authentication and Access:

Zend_Acl Zend_Auth Zend_Session Internationalization: Zend_Date Zend_Locale Zend_Measure Http: Zend_Http_Client Zend_Http_Server Zend_Uri Inter-application communication: Zend_Json Zend_XmlRpc Zend_Soap

Web Services: Zend_Feed Zend_Gdata Zend_Service_Amazon Zend_Service_Flickr Zend_Service_Yahoo Advanced: Zend_Cache Zend_Search Zend_Pdf Zend_Mail/Zend_Mime Misc! Zend_Measure

Các thành phần này giúp hệ thống linh hoạt, hỗ trợ người dùng lập trình ứng dụng web một cách nhanh chóng và hiệu quả nhất.

Sơ lược về chức năng của một số thành phần :

- Zend_Acl: giúp chúng ta phân quyền cho ứng dụng chi tiết trên từng action, controller và module.

- Zend_Auth: cung cấp một API cho việc chứng thực tài khoản khi đăng

nhập vào hệ thống.

- Zend_Cache: giúp cho các ứng dụng không phải sử dụng CPU hoặc truy

xuất vào database quá nhiều.

- Zend_Controller: giúp lấy các request từ phía Client và thực thi nó bằng các Action.

- Zend_Currency: xử lý tất cả các vấn đề liên quan đến tiền tệ.

- Zend_Date: xử lý tất cả các vấn đề liên quan thời gian.

- Zend_Db: Dựa trên đối tuợng PDO (PHP Data Objects), cung cấp cách

- Zend_File: cung cấp, hỗ trợ mở rộng việc upload và download của các tập tin. Nó gắn liền với kiểm tra các chức năng của tập tin.

- Zend_Filters: lọc dữ liệu trước khi thực hiện một quá trình xử lý nào đó.

- Zend_Form: đơn giản hóa việc tạo form và xử lý các ứng dụng trên website.

- Zend_Local: là một thư viện trả lời cho câu hỏi làm sao ứng dụng có thể sử dụng trên toàn thế giới.

- Zend_Pdf: Tạo và xử lý các file PDF.

- Zend_Search: là một lớp cung cấp cho chúng ta các phương thức search

trên nội dung của các tập tin lưu trữ thông tin.

- Zend_Translate: là giải pháp cho các ứng dụng đa ngôn ngữ.

- Zend_Validate: dùng để kiểm tra dữ liệu nhập vào có phù hợp với yêu

cầu hay không.

- Zend_View: chính là tầng View trong mô hình MVC, giúp chúng ta hiển thị những kết quả trong xử lý Controller và Models ra bên ngoài.

3.2.2. Mô hình MVC trong Zend Framework

MVC là một mô hình cho phép tách biệt các mã nghiệp vụ (business logic) và giao diện (UI) thành các phần riêng biệt, từ đó có thể chỉnh sửa chúng một cách riêng lẻ.

Trong cụm từ MVC thì:

- Model : là phần xử lý các thao tác về nghiệp vụ (business logic).

- View : là phần xử lý lớp giao diện (presentation layer).

- Controller : làm nhiệm vụ lọc các request được gọi từ người dùng, điều

chỉnh, phân luồng các yêu cầu để gọi đúng Model và View thích hợp. Về cơ bản, MVC chia nhỏ quá trình xử lý của một ứng dụng, giúp người dùng có thể làm việc trên từng thành phần riêng lẻ, trong khi những thành phần khác sẽ không bị ảnh hưởng tới.

Zend Framework là framework theo mô hình MVC rõ ràng. 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.

Mô hình MVC của Zend Framework bao gồm các thành phần sau

- Model : 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.

Lớp phục vụ: Zend_DB, Zend_DB_Table.

- View : Định nghĩa các thông tin hiển thị phía người dụng sau khi được

xử lý và trả về từ controller. Lớp phục vụ: Zend_View.

- Controller : Kiểm soát dữ liệu vào ra. Xuất thông tin ra tầng View khi

được thực thi.

Lớp phục vụ: Zend_Controller.

Hình dưới đây mô tả mô hình MVC trong Zend Framework :

Khi có một request từ người dùng. Controller sẽ tiếp nhận request, phân tích request, sau đó sẽ phân luồng request để gọi đến Model và View tùy vào request mà người dùng đã gửi. Khi người dùng gửi một request từ browser thì nơi đầu tiên tiếp nhận request đó đầu tiên là controller. Tùy vào request, mà controller sẽ phân luồng đến model và view.

Hình sau mô tả chi tiết hơn về cơ chế hoạt động của Zend Framework :

Một phần của tài liệu Xây dựng một ứng dụng Quản lý phân công giảng dạy cho Khoa CNTT, Đại học Sài Gòn (Trang 73 - 78)