
Baru kemarin rasanya saya belajar bahasa pemrograman PHP. Pada saat saya masih SMA awal mula saya mengenal PHP. Waktu itu saya sedang senang-senang nya ngeblog menggunakan platform Wordpress. Dulu, karena terbatasnya fitur yang ada di wordpress.com saya memutuskan untuk beralih ke Wordpress yang di hosting di server sendiri. Dari situlah saya mengenal bahasa pemrograman PHP.
Setelah sekian lama sekarang akhirnya PHP sudah release versi yang ke-8. Ada beberapa update yang di highlight pada update kali ini. Dan beberapa fitur menarik menurut saya. Diantaranya
Named Arguments
Dengan Named Arguments kita bisa memasukkan parameter function dengan menggunakan nama parameternya. Kelebihannya kita bisa tidak mengisi parameter yang kita tidak gunakan atau parameter yang dibiarkan default. Dan kita juga tidak perlu mengisi parameter secara berurutan.
Misalkan kita akan menggunakan function htmlspecialchars
yang memiliki 4 parameter, namun kita hanya ingin mengisi parameter pertama dan keempat sedangkan parameter kedua dan ketiga kita ingin biarkan default
htmlspecialchars($string, default, default, false);
Di PHP 8 cukup seperti ini
htmlspecialchars($string, double_encode: false);
Bisa di lihat di contoh diatas kita langsung mengisi parameter keempat dengan menggunakan nama parameter double_encode
tanpa harus mengisi parameter ketiga dan keempat. Sepertinya ini juga bisa dipakai saat kita membuat function dan memanggilnya menggunakan Named Arguments. Untuk lebih jelasnya bisa baca di Named Arguments RFC.
Match expression
Jika kamu sering melakukan kondisi pemilihan value dengan metode switch
, Match Expression ini akan lebih memudahkan kita melakukan pemilihan. Dengan Match Expression ini kita bisa menggunakannya seperti saat kita menggunakan switch
, namun dengan lebih sederhana. Di Match Expression data yang dibandingkan juga lebih ketat, artinya perbandingannya sampai ke tipe datanya. Mungkin akan lebih mudah dijelaskan dengan contoh berikut ini.
Jika menggunakan switch
biasanya kita melakukannya seperti ini
$nilai = 7.5;
switch ($nilai) {
case "7.5":
echo "nilai budi Bagus";
break;
case 7.5:
echo "nilai budi Jelek";
break;
}
// nilai budi Bagus
Namun jauh lebih sederhana jika menggunakan Match Expression
$nilai = 7.5;
echo match ($nilai) {
'7.5' => "nilai budi Bagus",
7.5 => "nilai budi Jelek",
};
// nilai budi Jelek
Terlihat bedanya bukan? Lebih sedikit baris code yang dibutuhkan dan lebih mudah dibaca. Dan bisa kita lihat perbedaan hasil keluaran kedua function diatas. Karena Match Expression menggunakan pembanding yang ketat sehingga akan berbeda keluarannya jika kita membandingkan tipe data yang salah. Untuk lebih jelas bisa baca di Match Expression RFC dan di Match Expression Control Structures.
Just-In-Time compilation
Ini mungkin yang paling menarik menurut saya. Sebuah metode kompilasi yang akhirnya ada di PHP. Walaupun tidak benar-benar meng-compile kode yang kita tulis namun cukup memberi efek pada performa kode kita. Kita tau bahwa PHP tidak meng-compile kode kita namun mengintepretasikan tiap baris dari kode kita. Dengan JIT, PHP akan meng-compile bagian-bagian kode selama runtime sehingga seperti bagian kode yang di cache.
Menurut Pedro Escudero di artikel How fast is PHP-8 going to be?JIT memberikan performa 45.39% jika dibandingkan dengan versi PHP 7.4. Dia bahkan membandingkan dengan versi PHP yang lebih lama dan tetap PHP 8 dengan fitur JIT yang aktif jauh lebih cepat.
Artinya ini bisa memcahkan berbagai masalah yang tidak bisa diselesaikan dengan PHP versi sebelumnya. Yang setau saya banyak developer yang berpaling dari PHP karena performanya yang lebih lambat dibandingkan bahasa pemrograman lain. Semoga dengan update ini PHP bisa naik daun lagi.
Sepertinya itu saja yang bahas tentang update terbaru bahasa pemrograman PHP di tulisan ini. Karena saya juga belum coba sendiri bagaimana rasanya menggunakan PHP 8 maka saya tidak bisa menulis lebih banyak. Ini hanya beberapa fitur baru yang saya baca di berbagai artikel yang menurut saya menarik. Dan mungkin suatu saat jika saya sudah mencoba mungkin akan saya ulas lebih detail tentang PHP 8 ini.
Sekian dan Terima kasih sudah membaca sampai akhir.