PHP 7.4 Release Features
PHP adalah salah satu bahasa pemrograman yang masih popular di dunia web-programming untuk sekarang ini. meskipun saat ini kepopulerannya menurun di bandingkan 10 tahun yang lalu php masuk ke Top 3 Web Programming Language. Akan tetapi saya pribadi masih menggunakan PHP untuk keperluan kerjaan selama masih ada update-an dari php nya sendiri. hehehe
Ngomongin update-an, baru – baru ini PHP telah resmi merilis versi terbarunya yaitu PHP 7.4 .
Release Features PHP 7.4
Pada tanggal 28 November 2019 kemarin php resmi merilis versi 7.4, di versi terbaru ini PHP hadir dengan beberapa features dan perbaikan bug, serta cara baru dalam penulisan arrow functions, di antara perubahan tersebut adalah :
1. Say “Good Bye” to array_merge()
array_merge() berguna untuk mengabungkan 2 array, contoh nya :
<?php
$arr1 = [1,2,3];
$arr2 = [4,5,6];
$merge = array_merge($arr1, $arr2);
//Value dari $merge menjadi
//[1,2,3,4,5,6]
?>
sedangkan cara baru untuk menggabungkan array di php 7.4 di sederhanakan sebagai berikut :
<?php
$arr1 = [1,2,3];
$arr2 = [4,5,6]
$merge = [...$arr1, ...$arr2];
//value dari $merge adalah
//[1,2,3,4,5,6]
//atau bisa juga
$merge2 = [...$arr1, ...$arr2, 7,8,9];
//maka value dari $merge2 adalah
// => [1,2,3,4,5,6,7,8,9]
?>
2. Arrow Functions
Arrow functions juga disebut “short closures“, memungkinkan untuk menulis fungsi one-liner, langsung deklarasi fungsi tanpa ribet, untuk yang sudah terbiasa dengan laravel mungkin tidak asing lagi, karena sudah banyak di pake di laravel atau framework lainnya.
<?php
$arr = [1,2,3];
$map = array_map(function ($item) {
return $item+1;
}, $arr);
//output
//=> [2,3,4]
?>
tapi di php 7.4 penulisannya bisa di persingkat lagi seperti berikut ini :
<?php
$arr = [1,2,3];
$map = array_map(fn ($item) => $item+1, $arr);
//output
//=> [2,3,4]
?>
3. Null Coalescing Assignment Operator
Nah ini sangat membantu dalam nge-handle data null dari database atau dari suatu variable, biasanya menggunakan kondisi seperti berikut ini :
<?php
$name = null;
echo "Nama anda adalah : ".$name == null ? "No-Name":$name;
?>
di php 7.4 kita bisa melakukannya dengan lebih sederhana lagi yaitu sebagai berikut:
<?php
$name = null;
echo "Nama anda adalah : ".$name ?? "No-Name";
?>
4. Typed Properties 2.0
Declarasi type dari suatu object / class atau bisa juga di sebut type hints, memungkinkan kita mengetahui variable apa saja yang bisa di panggil dari suatu object atau class. di java dan typescript, ini sudah di bisa.
<?php
class User {
public int $id;
public string $name;
}
$users = new User();
$users->id = 1;
$users->name = "Dani";
echo var_dump($users);
//Output :
/*
object(User)#1 (2) {
["id"]=>
int(1)
["name"]=>
string(4) "Dani"
}
*/
Ketika object di isi dengan data yang tidak di harapkan.
<?php
class User {
public int $id;
public string $name;
}
$users = new User();
$users->id = 1;
$users->name = ["Dani"];
echo var_dump($users);
jika kode di atas di jalankan akan muncul error :
PHP Fatal error: Uncaught TypeError: Typed property User::$name must be string, array used in /home/path/to/test.php:27
karena $name type data yang di izinkan adalah string, sedangkan di isi dengan type data array, maka muncul error.
Download PHP 7.4
PHP-7.4 bisa di download dan disini.
Kesimpulan
Setiap update release, php selalu memberikan solusi kepada developer, untuk bisa menulis kode lebih user-friendly, lebih cepat, lebih mudah tapi tidak mengurangi performance atau bahkan bisa lebih baik lagi, mengingat banyak bahasa perograman baru yang di kembangkan, seperti Golang, Nodejs, atau Ruby untuk backend dimana PHP bermain di situ, jika php tidak segera update dengan mengikuti perkembangan jaman, dan kebutuhan programmer, mungkin php akan di tinggalkan. tapi saat ini php masih aktif selalu memberikan updat-an terbaru. mungkin di tahun depan php 8 release. mungkin yaa.. hehe
Penutup
Sekian tulisan saya kali ini, semoga bermanfaaat dan bisa membatu, Terimakasih.