Phần 2 - Zend Framework 1.x - Work Flow

Phần 2 - Zend Framework 1.x - Work Flow

Sau khi tiến trình xử lý Routing kết thúc, ZF sẽ kích hoạt tiến trình preDispatch, đây là tiến trình được xử lý trước các action trong controller của ZF.

Phần 2 - Zend Framework 1.x - Work Flow

Tiến trình được xử lý đầu tiên bằng việc Plugin Broker kiểm tra xem có một controller plugin nào được thiết lập phương thức dispatchLoopStartup hay không, nếu có thì thực thi phương thức này của controller plugin, sau đó Plugin Broker sẽ thông báo ngược lại với Front Controller đã hoàn tất quá trình loop startup và từ đây Front Controller sẽ gắn trạng thái TRUE vào cờ isDispatch của đối tượng Request (xem lại phần 1), Front controller sẽ tiến tới quá trình xử lý preDispatch, như vậy tại đây chúng ta sẽ thấy rằng Loop Dispatch là tiến trình chạy trước preDispath.

Front Controller lại đẩy sang Plugin Broker để kiểm tra xem có controller plugin nào đó được thiết lập phương thức preDispatch hay không, nếu có thì thực thi phương thức. Tại đây, khối Front Controller sẽ kiểm tra xem cờ isDispatch có được reset thành FALSE hay không? Nếu có, quá trình sẽ được lặp lại bước trên (do đó nó có tên là LOOP STARTUP). Ngược lại, tức là cờ isDispatch vẫn đang ở trạng thái  TRUE thì Front Controller sẽ triệu gọi action trong controller tương ứng lên thực thi. Tiến trình này được gọi là Controller Dispatch

Tiến trình Controller Dispatch sẽ load file controller class tương ứng lên, đồng thời kích hoạt luôn helper broker lên để đăng ký action vào đây. Nó sẽ thực thi phương thức preDispatch trong class controller đó, sau đó nó kiểm tra xem có thể thực thi action mà người dùng đang mong chờ không, nếu có thể thực hiện được, nó sẽ thực thi action đó và tiếp đó là tới postDispatch. Cuối cùng nó sẽ gửi thông điệp response về cho Front Controller, để tiếp tục qua tiến trình post dispatch của khối front controller.

Tiến trình postDispatch ở khối Front Controller bắt đầu bằng việc nhờ khối Plugin Broker kiểm tra xem có thể thực thi phương thức dispatchLoopShutdown nào của controller plugin không? Xong việc, Front Controller sẽ gửi đối tượng response về. Đối tượng response sẽ gửi header về trước rồi tối khối Body cho user. Như vậy là kết thúc quá trình xử lý trong ZF 1.x

Hy vọng bài viết có thể giúp mọi người có cái nhìn tổng quan và hiểu phần nào cách xử lý trong ZF 1.x

Theo Minh Quang Trần 

Bạn thấy bài viết này như thế nào?: 
Average: 9 (1 vote)
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Điểm mặt ba đối thủ mới của iPad 2

Điểm mặt ba đối thủ mới của iPad 2

Những người sử dụng máy tính bảng sẽ có thêm 3 thiết bị mới để so sánh với iPad 2 trong mùa lễ hội này, trong đó có Asus Eee Pad Transformer, máy tính bảng đầu tiên được trang bị chip lõi tứ Tegra 3 mới nhất của Nvidia.

Android

5 Ứng dụng bảo vệ và khóa hình ảnh cho Android

Ngày nay điện thoại thông minh thường được trang bị một máy ảnh nhiều “chấm” với chất lượng ngày càng được cái tiến.

Rethinking the LAMP stack — Drupal Disruptive Open Source Part 2

Mã nguồn mở Drupal Disruptive: Phần 2 LAMP stack

Certainly Drupal is no piker system. From a relatively unknown Content Management System (CMS), Drupal has burst on the scene and now accounts for one-percent of all websites, which to some might seems small until we stop to think how big the web is.

Công ty diệt chuột T&C

 

Diet con trung