Hình 1 .2 Biểu đồ tuần tự một chuỗi MVC đơn giản
Hình 1.5 Luồng xử lý công việc trong Zend Fremawork
1.2.3. Cấu trúc của Zend Fremawork
1.2.3.1. Luồng xử lý công việc Zend Framewok
- Các bước làm việc theo mơ hình trên:
+ Bước 1: Một yêu cầu được tạo ra và đối tượng Request Object được tạo ra + Bước 2: Routestartup được nạp
+ Bước 3: Router xử lý yêu cầu + Bước 4: routerShutdown được nạp + Bước 5: dispatchLoopStartup được nạp + Bước 6: Qui trình gửi thơng tin được bắt đầu + Bước 7: preDispatch được nạp
+ Bước 8: Dispathcher gọi Action Controller + Bước 9: Action Controller tạo Response Object
+ Bước 10: postDispatch được nạp
+ Bước 11: Nếu có Action nào được gọi thì quay lại bước 7 + Bước 12: dispatchLoopShutdown được nạp
Sinh viên thực hiện: Trịnh Xuân Lợi Trang 18
1.2.3.2. Cấu trúc thư mục một project Zend Fremawork
Đối với mỗi project được xây dựng trong ZF đều có cấu trúc thư mục như sau:
Các thư mục Diễn giải ý nghĩa từng thư mục
/application Thư mục chứa các thành phần của mơ hình MVC
/configs Thư mục chứa các tập tin cấu hình: *.ini, *.xml
/application.in Tập tin cấu hình
/controllers Thư mục chứa các tập tin điều hướng các hành động
/IndexController.php
Controller mặc định, kế thừa lớp
Zend_Controller_Action mỗi tập tin controller sẽ có một phương thức mặc định là indexAction
/forms Thư mục chứa các lớp được tạo bởi Zend_Form hoặc các lớp validate form
/models Thư mục chứa các lớp tương tác trực tiếp với database
/view Phụ thuộc vào thư mục controller
/helpers Chứa các lớp dữ liệu đầu vào, đầu ra
/filters Chứa các hỗ trợ
/scripts Chứa view của các action trong controller
/index Tương ứng tập tin IndexController.php
Index.php Tương ứng phương thức indexAction trong lớp IndexController.php
/layouts Thư mục chứa các bố cục, giao diện của các ứng dụng
Bootstrap.php Tập tin khởi tạo các tài nguyên, nạp sẵn các phương thức
Sinh viên thực hiện: Trịnh Xuân Lợi Trang 19
Zend Thư viện của Zend
Zendvn Thư viên mở rộng Zendvn
/public Thư mục chứa các thành phần khác(dùng chung)
/css Thư mục chứa các tập tin CSS
/images Thư mục chứa các tập tin ảnh
/js Thư mục chứa các tập tin JavaScripts
index.php Tập tin chạy chính của chương trình
define.php Tập tin định nghĩa hằng số
* Tóm lại, cấu trúc cây thư mục của một project được tổ chức rất 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.
Đây là mơ hình thư mục của chương trình: