Zend Engine
Zend Engine | |||||||
---|---|---|---|---|---|---|---|
Tipe | perangkat lunak bebas dan reference implementation (en) | ||||||
Versi pertama | 1999 | ||||||
Versi stabil | |||||||
Genre | Kompilator | ||||||
Lisensi | Zend Engine License | ||||||
Bahasa | Daftar bahasa | ||||||
| |||||||
| |||||||
Sumber kode | |||||||
| |||||||
Zend Engine adalah sebuah kompilator sekaligus mesin runtime bagi bahasa pemrograman PHP dan disusun oleh mesin bernama Zend Virtual Machine yang terdiri dari kompilator dan eksekutor untuk menjalankan kode PHP. Dikembangkan oleh Andi Gutmans dan Zeev Suraski ketika mereka masih menjadi mahasiswa di Institut Teknologi Israel, Technion. Kemudian mereka mendirikan perusahaan bernama Zend Technologies di Ramat Gan, Israel. Nama "Zend" adalah gabungan dari nama depan mereka berdua, Zeev dan Andi.
Sejarah
Versi pertama dari Zend Engine muncul pada tahun 1999 dalam PHP versi 4.[2] Mesin virtual ini ditulis dalam bahasa pemrograman C sebagai sebuah back-end modular yang dioptimalkan.[3] Zend Engine menyediakan manajemen memori, manajemen sumber daya, dan layanan standar lainnnya untuk bahasa pemrograman PHP. Kinerjanya, keandalan, dan kemampuan untuk dikembangkan memainkan peran yang signifikan dalam meningkatkan efisiensi dan popularitas PHP di kalangan pengembang.
Zend Engine 2 dirilis sebagai core atau inti dari pengembangan PHP 5, dilanjutkan oleh Zend Engine 3 atau phpng untuk pengembangan PHP 7 dan berhasil meningkatkan kinerja secara signifikan.[4]
Versi terbarunya, Zend Engine 4 mulai dikerjakan untuk pengembangan PHP 8. Berbagai sukarelawan berkontribusi pada pembaruan Zend Engine.[5]
Lisensi
Kode sumber dari Zend Engine telah tersedia secara gratis di bawah lisensi Zend Engine (meskipun beberapa bagian beradadi bawah lisensi milik PHP) sejak tahun 1999, sebagai bagian dari rilis resmi PHP dan repositori Git resmi di GitHub.[6]
Arsitektur
Zend Engine digunakan secara internal oleh bahasa pemrograman PHP sebagai kompilator dan mesin runtime. Kode PHP dimuat ke dalam memori dan dikompilasi menjadi opcode dari Zend. Opcode ini kemudian dieksekusi dan HTM yang telah dihasilkan ditampilkan ke klien.[7]
Untuk mengimplementasikan interpreter skrip web, diperlukan tiga bagian:
- Bagian interpreter menganalisis kode masukan, menerjemahkannya, dan mengeksekusinya.
- Bagian fungsionalitas mengimplementasikan fungsionalitas bahasa seperti fungsi-fungsi, modul, dan lain sebagainya.
- Bagian antarmuka berkomunikasi dengan server web.
Zend menjalankan tugas sebagai interpreter dan sebagian kecil dari fungsionalitasm sementara PHP menjalankan proses fungsionalitas dan antarmuka.
Referensi
- ^ "php.internals: Changes to Git commit workflow". news-web.php.net. Diakses tanggal 2021-04-22.
- ^ "Zend's History with PHP". Zend Technologies.
- ^ "Zend engine". PHP Internals Book. Diakses tanggal 2021-10-04.
- ^ "PHP: General Information - Manual". php.net. Diakses tanggal 2019-11-22.
- ^ Datadog (2021-02-02). "PHP 8: Observability Baked Right In". PHP 8: Observability Baked Right In (dalam bahasa Inggris). Diakses tanggal 2023-10-27.
- ^ Gutmans, Andi (1999-07-14). "- License update · php/php-src@fec59d3" (dalam bahasa Inggris). Diakses tanggal 2021-12-26.
- ^ "PHP - What is zend engine?". careerride.
Pranala luar
- "Zend Engine 2.0 Design" (PDF). Diarsipkan dari versi asli (PDF) tanggal 13 August 2011.
- Zend Engine - Official Git repository
- "Zend Engine Documentation". PHP development wiki. 22 September 2017.