Zend Engine

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 12. Oktober 2007 um 22:27 Uhr durch Arty (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
Zend Engine

Datei:Zend Engine 2 Logo.png
Basisdaten

Entwickler Zend Technologies
Erscheinungsjahr 1999
Aktuelle Version 2.2.0
(Anfang 2007)
Programmier­sprache C
Kategorie Entwickler
Lizenz PHP-Lizenz
deutschsprachig nein
zend.com/

Die Zend Engine wird von PHP als Parser und Compiler benutzt.

Der Name „Zend“ entstammt den Vornamen der beiden Entwickler der Zend Engine, Zeev Suraski und Andi Gutmans. Gemeinsam begannen sie schon während ihrer Studienzeit mit der Entwicklung und formten später die Firma Zend Technologies Ltd.

Die Zend Engine erschien zum ersten Mal 1999 im Zusammenhang mit dem Redesign von PHP 4. Diese hochgradig optimierte, im Hintergrund laufende Engine ließ PHP erst durch seine Performance, Erweiterbarkeit und Zuverlässigkeit den heute so weit fortgeschrittenen Siegeszug starten.

Die momentan (Oktober 2007) aktuelle Version der Zend Engine ist 2.2.0. In PHP kommt die Zend Engine 2 seit Version 5.0 zum Einsatz.

Sie übernimmt die Codeaufbereitung. Durch das Prinzip „erst kompilieren, dann ausführen“ kann sichergestellt werden, dass nur Seiten ausgeführt werden, die keine Fehler aufweisen, da die Zend Engine erst, wenn eine Seite komplett geparst und als syntaktisch korrekt angesehen wird, zur Ausführung von der Engine an die Ausführungsschicht übergeben wird.

Der Kern der Zend Engine 2 ist die Objektorientierung. Die Lösung des Problems, dass eine Funktion immer die Kopie eines Objektes übergeben bekommt, nicht das Objekt selbst, lautet wie folgt: Es existiert eine globale Objekttabelle, in der die Objekte abgelegt sind. In den Variablen befinden sich jetzt nicht mehr die Objekte selbst, sondern Pointer auf das Feld in der globalen Objekttabelle, in dem das Objekt abgelegt ist. Wird nun einer Funktion dieser Pointer übergeben, wird dieser zwar wieder lediglich kopiert, doch das darunterliegende Objekt ist das selbe und kann daher global verändert werden.

Da die Spezialisierung auf Webseiten nur durch den aufgesetzten PHP-Kern bestimmt wird, ist diese auch für andere Applikationen verwendbar.

Verwandte Produkte

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.

Siehe Übersichtsartikel: Zend Technologies