Minggu, 27 Desember 2015

Membuat Ekstensi PHP dengan Zephir

Zephir atau Zend Engine PHP Intermediate adalah sebuah bahasa pemrograman yang digunakan untuk membuat sebuah ekstensi PHP. Zephir menggunakan syntax yang mirip dengan PHP, jadi bagi kalian programmer PHP ingin membuat ekstensi PHP sendiri tapi tidak menguasai bahasa C, maka zephir adalah solusinya.
Pada tutorial ini, penulis menggunakan sistem operasi ubuntu, PHP 5.5.9 dan apache2 sebagai web server.

Instalasi zephir

Untuk menginstalasi zephir, ada beberapa yang perlu kita siapkan, diantaranya:
  • gcc >= 4.x/clang >= 3.x
  • re2c 0.13 atau versi terbaru
  • gnu make 3.81 atau versi terbaru
  • autoconf 2.31 atau versi terbaru
  • automake 1.14 atau versi terbaru
  • libpcre3
  • php development headers and tools
Bagi kalian yang menggunakan sistem operasi ubuntu, tinggal jalankan perintah berikut:
$ sudo apt-get install git gcc make re2c php5 php5-json php5-dev libpcre3-dev

Memulai instalasi

Klon zephir dari github
$ git clone https://github.com/phalcon/zephir.git
Masuk ke direktori
$ cd zephir
Instal zephir
$ ./install -c
Cek apakah zephir terinstal
$ zephir help

Memulai membuat ekstensi

Jalankan perintah berikut untuk membuat sebuah direktori yang mana nantinya akan di kompilasi menjadi sebuah ekstensi PHP.
$ zephir init hello
Maka akan membuat sebuah direktori yang bernama hello.
Masuk ke direktori hello dengan perintah:
$ cd hello
Didalam direktori tersebut, akan terdapat direktori ext dan hello.
Pada direktori hello, masukkan perintah berikut:
$ mkdir hello/lib
$ touch hello/lib/hello.zep
Perintah tersebut akan membuat sebuah direktori baru bernama lib didalam folder hello dan membuat sebuah file bernama hello.zep didalamnya.
Masukkan kode berikut kedalam hello/lib/hello.zep
Lalu kompilasi kode menggunakan perintah:
$ zephir build
Ekstensi sudah berhasil dibuat, tetapi masih belum bisa dijalankan karena ekstensi tersebut belum terpasang di PHP. Buat sebuah file bernama hello.ini di direktori /etc/php5/apache2/conf.d/
dan berikut isi dari hello.ini
Lalu restart web server, dengan begitu ekstensi anda telah berhasil terpasang di PHP.

Memanggil fungsi dari ekstensi

Buat sebuah file bernama hello.php, dan masukkan kode berikut:
Perhatikan pada kode tersebut
Hello\Lib merupakan namespace dari ekstensi, sedangkan Hello merupakan nama classnya
hello_world merupakan nama function yang terdapat pada class.
Dan akhirnya ekstensi sudah berhasil dibuat dan dijalankan.
Beberapa contoh fungsi dari PHP yang telah saya bungkus jadi ektensi PHP bisa kalian lihat di
https://github.com/devilscream/kodebin-lib/
Referensi:
http://docs.zephir-lang.com/en/latest/index.html

Tidak ada komentar:

Posting Komentar