Zend-Engine - Zend Engine
Originalautor(en) | Andi Gutmans , Zeev Suraski |
---|---|
Entwickler | Zend Technologies , Das PHP-Entwicklungsteam |
Erstveröffentlichung | 1999 |
Stabile Version | 3,4 (PHP 7,4) 4,0 (PHP 8,0) |
Repository | github |
Geschrieben in | C |
Typ | Skript-Engine |
Lizenz | Zend Engine-Lizenz (einige Teile stehen unter der PHP-Lizenz ) |
Webseite | www |
Die Zend Engine ist eine Compiler- und Laufzeitumgebung für die PHP- Skriptsprache und besteht aus der Zend Virtual Machine, die sich aus dem Zend Compiler und dem Zend Executor zusammensetzt, der den PHP-Code kompiliert und ausführt. Es wurde ursprünglich von Andi Gutmans und Zeev Suraski während ihrer Studienzeit am Technion – Israel Institute of Technology entwickelt . Später gründeten sie eine Firma namens Zend Technologies in Ramat Gan , Israel . Der Name Zend ist eine Kombination aus ihren Vornamen Zeev und Andi.
Die erste Version der Zend Engine erschien 1999 in PHP Version 4. Sie wurde in C als hochoptimiertes modulares Backend geschrieben, das erstmals in Anwendungen außerhalb von PHP eingesetzt werden konnte. Die Zend Engine bietet Speicher- und Ressourcenverwaltung und andere Standarddienste für die PHP-Sprache. Seine Leistung, Zuverlässigkeit und Erweiterbarkeit spielten eine bedeutende Rolle bei der zunehmenden Popularität von PHP.
Darauf folgte Zend Engine 2 als Herzstück von PHP 5.
Die neueste Version ist Zend Engine 3 , ursprünglich mit dem Codenamen phpng , die für PHP 7 entwickelt wurde und die Leistung deutlich verbessert.
Der Quellcode für die Zend Engine ist seit 2001 unter der Zend Engine License (obwohl einige Teile unter der PHP License stehen ) frei verfügbar , als Teil der offiziellen Releases von php.net, sowie dem offiziellen Git- Repository oder dem GitHub Spiegel. Verschiedene Freiwillige tragen zur Codebasis der PHP/Zend Engine bei.
Die Architektur
Zend Engine wird intern von PHP als Compiler und Laufzeit-Engine verwendet. PHP-Skripte werden in den Speicher geladen und in Zend- Opcodes kompiliert . Diese Opcodes werden ausgeführt und der generierte HTML-Code wird an den Client gesendet.
Um einen Webscript-Interpreter zu implementieren, benötigen Sie drei Teile:
- Der Interpreterteil analysiert den Eingabecode, übersetzt ihn und führt ihn aus.
- Der Funktionalitätsteil implementiert die Funktionalität der Sprache (ihre Funktionen usw.).
- Der Schnittstellenteil spricht mit dem Webserver usw.
Zend übernimmt Teil 1 komplett und ein bisschen Teil 2; PHP nimmt die Teile 2 und 3 ein.
Zend selbst bildet eigentlich nur den Sprachkern und implementiert PHP im Grunde mit einigen vordefinierten Funktionen.
Siehe auch
Verweise
Externe Links
- Offizielle Website
- "Zend Engine 2.0-Design" (PDF) . Archiviert vom Original (PDF) am 13. August 2011.
- Offizielles Git-Repository
- "Zend Engine-Dokumentation" . PHP-Entwicklungs-Wiki . 22. September 2017.