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.
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]
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]
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:
Zend menjalankan tugas sebagai interpreter dan sebagian kecil dari fungsionalitasm sementara PHP menjalankan proses fungsionalitas dan antarmuka.