Kiến trúc Zend Engine
Đã biết đến PHP thì cũng nên biết đến Zend Engine. Như ai cũng biết, PHP là ngôn ngữ scripting và nó được chạy thực thi trên một máy ảo là Zend Engine . Zend Engine là một scripting engine mở được phát triển bởi Zend .
Cách thực thi của PHP có thể mô tả như hình sau :
PHP không được thực thi ngay, mà được biên dịch thành opcode trước (opcode tương tự như ASM), sau đó mới được Zend Engine thực thi, kết quả trả về web server và xuất ra browser. Các bước này biểu diển bằng các ô màu trắng.
Một số ứng dụng tăng tốc PHP như Zend Optmizer , ionCube bằng cách can thiệp vào quá trình hoạt động này, sau khi compile ra opcode sẽ thực hiện optimize các opcode này (loại bỏ các toán tử dư thừa .v.v.) sau đó cache lại opcode này rồi mới thực thi. Lần tiếp theo hoạt động không cần biên dịch lại nữa mà chỉ thực thi đoạn opcode đã được optimize này. Thậm chí có thể cache cả kết quả xuất ra (HTML result) và nén lại (gzip).
Nhìn tổng thể hơn thì Zend Engine/PHP đóng vai trò như một module của Web Server và handle các request từ client. Một điểm chú ý là bên trong Zend Engine còn có Debug Server, là một module (lớn) của Zend Engine, cho phép developer có thể debug ứng dụng của mình trực tiếp trên Web Server. Thực tế là thằng này dành riêng cho Zend Ide

Zend còn cung cấp thêm các sản phẩm như là Zend Core, Zend Platform là 2 giải pháp chuyên nghiệp dành cho các ứng dụng lớn. Khi có thời gian sẽ viết về 2 sản phẩm này của Zend
Comments
2 Comments on Kiến trúc Zend Engine
-
Hoai Nam on
Fri, 11th Jul 2008 10:31 am
-
Bảo on
Sat, 12th Jul 2008 12:18 am
Ở đây cũng có bàn về kiến trúc các framework trong PHP http://groups.google.com/group/phpvietnam/t/f1103538c108db94
Ở đâu mình đề cập tới kiến trúc của Zend Engine, là cách hoạt động bên trong nhân. Còn kiến trúc 1 framework thì nhiều lắm, để khi nào có thời gian mình sẽ viết thử ![]()
Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!


