Zend Engine

Compiler für die Skriptsprache PHP

Die Zend Engine ist ein Compiler und eine Laufzeitumgebung für die Skriptsprache PHP.[1] Die Zend Engine wird als freie Software unter der PHP-Lizenz verbreitet.

Zend Engine
Basisdaten

Entwickler Zend Technologies
Erscheinungsjahr 1999
Aktuelle Version 3.4 (PHP 7.4) 4.0 (PHP 8.0)
Programmier­sprache C
Lizenz PHP-Lizenz
zend.com

Mit Zend durchläuft der Programmcode mehrere Kompilierungsschritte bis zum ausführbaren Maschinencode. Eine Zwischenrepräsentation ist der sogenannte Zend-Opcode, ein noch plattformunabhängiger Bytecode (wie bei Java). Die Engine ist so gebaut, dass Caches zwischengeschaltet werden können, um redundante Bytecode-Generierung zu minimieren und so die Ausführung effizienter zu gestalten. Neben dem proprietären, kostenpflichtigen Produkt aus dem eigenen Hause (Zend Optimizer) gibt es dafür auch eine Reihe freier Lösungen.

Etymologie / Wortherkunft

Bearbeiten

Der Name „Zend“ entstammt den Vornamen der beiden Entwickler der Zend Engine, Zeev Suraski und Andi Gutmans. Gemeinsam begannen sie während ihrer Studienzeit mit der Entwicklung und gründeten später das Unternehmen Zend Technologies.

Geschichte

Bearbeiten

Die Zend Engine wurde von Zeev Suraski und Andi Gutmans entwickelt, da ihnen PHP/FI 2 für E-Commerce zu schwach war.[2] Zunächst wurde am 6. Juni 1998 die Version 0.5 zusammen mit der PHP-Version 3 veröffentlicht.[2] Veränderungen gegenüber dem Interpreter von PHP/FI 2 waren vor allem die bessere Performance sowie einige Änderungen der Syntax und des Verhaltens von PHP.[3] Die Version 1.0 wurde am 22. Mai 2000 zusammen mit PHP 4 veröffentlicht. Sie unterstützt Sessions sowie grundlegende Objektorientierte Programmierung.[4] Ab der Version 2.0 ist mit vielen neuen Funktionalitäten ernsthaftes objektorientiertes Programmieren möglich. Bei der Version 2.1 ist vor allem die Performance verbessert worden,[5] während die Version 2.2 zusätzlich ein verbessertes Speichermanagement besitzt.[6] Ab der Version 2.3 unterstützt die Zend Engine Namensräume,[7] ab der Version 3.0 wird der Standardzeichensatz auf Unicode geändert.[8]

Siehe auch: PHP

Verwandte Produkte

Bearbeiten

Um den Quellcode weiter zu optimieren, wurde der Zend Optimizer entwickelt, der als Ergänzung zur Zend Engine fungiert. Weiterhin wird der Zend Optimizer zur Ausführung von mit dem Zend Guard verschlüsselten PHP-Quelltexten benötigt.

Anmerkungen

Bearbeiten

Die Versionsnummer der Zend Engine entspricht der der Scriptsprache PHP minus 3, da ab der Version 1.0 der Zend Engine die PHP-Version 4 unterstützt wird. Ab PHP 7 gilt diese Regel nicht mehr – so wird für PHP 7.2 die ZendEngine 3.2 genutzt.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Zend engine. In: PHP Internals Book. Abgerufen am 1. Februar 2019 (englisch).
  2. a b Wikipedia: PHP
  3. Migration von PHP/FI 2.0 zu PHP 3.0. (Memento vom 3. Februar 2007 im Internet Archive) PHP Manual
  4. Changelog für PHP 4.0.0
  5. Performance-Vergleich PHP 4.3.1 zu PHP 5.0.0 und Performance-Vergleich PHP 4.3.1 zu PHP 5.1.0. ister.org
  6. PHP 5.2.0 bringt Sicherheitsfixes und neue Funktionen – Update. heise.de
  7. Namespaces
  8. PHP and Unicode: A Love at Fifth Sight. (Memento vom 24. Mai 2005 im Internet Archive)