Silnik Zenda
Oryginalni autorzy | Andi Gutmans , Zeev Suraski |
---|---|
Deweloperzy | Zend Technologies , zespół programistów PHP |
Pierwsze wydanie | 1999 |
Wersja stabilna | 3,4 (PHP 7,4) 4,0 (PHP 8,0) |
Magazyn |
|
Napisane w | C |
Typ | Silnik skryptowy |
Licencja | Licencja Zend Engine (niektóre części są objęte licencją PHP ) |
Strona internetowa |
Zend Engine jest kompilatorem i środowiskiem wykonawczym dla języka skryptowego PHP i składa się z Wirtualnej Maszyny Zend, która składa się z Zend Compiler i Zend Executor, które kompilują i wykonują kod PHP. Pierwotnie został opracowany przez Andi Gutmansa i Zeeva Suraskiego, gdy byli studentami Technion – Izraelskiego Instytutu Technologii . Później założyli firmę o nazwie Zend Technologies w Ramat Gan w Izraelu . Imię Zend jest połączeniem ich imion, Zeev i Andi.
Pierwsza wersja Zend Engine pojawiła się w 1999 roku w PHP w wersji 4. Została napisana w C jako wysoce zoptymalizowany modułowy back-end, który po raz pierwszy mógł być wykorzystany w aplikacjach poza PHP. Zend Engine zapewnia zarządzanie pamięcią i zasobami oraz inne standardowe usługi dla języka PHP. Jego wydajność, niezawodność i rozszerzalność odegrały znaczącą rolę w rosnącej popularności PHP.
Następnie pojawił się Zend Engine 2 będący sercem PHP 5 .
Następnie pojawił się Zend Engine 3 , pierwotnie o nazwie kodowej phpng , który został opracowany dla PHP 7 i znacznie poprawia wydajność.
Najnowsza wersja to Zend Engine 4 , która została stworzona dla PHP 8 .
Kod źródłowy Zend Engine jest dostępny bezpłatnie na licencji Zend Engine (chociaż niektóre części są objęte licencją PHP ) od 1999 roku, jako część oficjalnych wydań z php.net, a także oficjalnego repozytorium git lub GitHub lustro. Różni ochotnicy współtworzą bazę kodu PHP/Zend Engine.
Architektura
Zend Engine jest używany wewnętrznie przez PHP jako kompilator i silnik wykonawczy. Skrypty PHP są ładowane do pamięci i kompilowane w kody operacyjne Zend . Te kody operacji są wykonywane, a wygenerowany kod HTML jest wysyłany do klienta.
Implementacja interpretera skryptów WWW wymaga trzech części:
- Część interpretera analizuje kod wejściowy, tłumaczy go i wykonuje.
- Część funkcjonalna implementuje funkcjonalność języka (jego funkcje itp.).
- Część interfejsu komunikuje się z serwerem WWW itp.
Zend bierze udział w całości w części 1 i trochę w części 2; PHP bierze udział w częściach 2 i 3.
Zend sam w sobie tworzy tylko rdzeń języka, implementując PHP u podstaw z kilkoma predefiniowanymi funkcjami.
Zobacz też
Linki zewnętrzne
- Oficjalna strona internetowa
- „Projekt Zend Engine 2.0” (PDF) . Zarchiwizowane od oryginału (PDF) w dniu 13 sierpnia 2011 r.
- Oficjalne repozytorium git
- „Dokumentacja silnika Zend” . Wiki o programowaniu w PHP . 22 września 2017 r.