PHP merupakan bahasa pemrograman yang saat ini digandrungi oleh developer web di Indonesia yang mana bahasa pemrograman ini sangatlah simpel dan ramah bagi pemula. Banyak yang beranggapan bahwa bahasa pemrograman satu ini yang biasa dijuluki "Si Gajah" gak banget buat developer expert yang mana katanya bahasa pemrograman ini jelek dan gak enak.
Namun siapa sangka 😱, bahasa pemrograman ini tetap bertahan di era gempuran bahasa pemrograman yang lebih bagus dan baik dari segi performa. Antara lain javascript, python, rust, golang dan lain sebagainya. Saat ini developer (pengembang) dari bahasa pemrograman PHP ini sendiri akan menghadirkan pembaharuan versi PHP-nya yang mana akan menginjak di versi 8.4.0 yang nantinya akan dilepas-riliskan pada 21 November 2024 mendatang.
Penasaran apa aja pembaharuan struktur kode yang akan datang? Langsung saja simak daftar di bawah ini.
PHP 8.4 hadir dengan beberapa fungsi pencarian array baru yang bakal bikin ngoding makin asyik:
array_find()
: Cari elemen pertama yang memenuhi kondisi tertentu.array_find_key()
: Cari kunci dari elemen pertama yang sesuai dengan kondisi yang kita mau.array_any()
: Cek apakah ada elemen dalam array yang memenuhi kondisi tertentu.array_all()
: Cek apakah semua elemen dalam array memenuhi kondisi tertentu.PHP 8.4 juga mengenalkan hook properti yang terinspirasi dari bahasa seperti Kotlin, C#, dan Swift. Dengan hook ini, kita bisa bikin logika akses dan modifikasi properti langsung di dalam kelas.
Contoh:
class User implements Named
{
private bool $isModified = false;
public function __construct(
private string $first,
private string $last
) {}
public string $fullName {
get => $this->first . " " . $this->last;
set {
[$this->first, $this->last] = explode(' ', $value, 2);
$this->isModified = true;
}
}
}
Satu lagi fitur yang nggak kalah keren di PHP 8.4 adalah akses anggota langsung setelah instansiasi tanpa perlu tanda kurung tambahan. Jadi, nggak ada lagi error parsing yang ngeselin. Namun perlu diingat, dalam fungsi yang masih pake method static masih butuh double colon (:
) untuk instansiasi kelasnya.
Contoh:
Sintaks Lama (PHP <= 8.3):
$request = (new Request())->withMethod('GET')->withUri('/hello-world');
Sintaks Baru (PHP 8.4):
$request = new Request()->withMethod('GET')->withUri('/hello-world');
PHP 8.4 menambahkan kelas \Dom\HTMLDocument
yang bisa menerjemahkan kode HTML5 dengan benar. Kelas \DOMDocument
yang lama masih tersedia untuk kompatibilitas ke belakang.
$doc = \Dom\HTMLDocument::createFromString($contents);
null
PHP memiliki perilaku aneh di mana variabel yang diketikkan dengan nilai default null
akan menjadi null secara otomatis:
function foo(string $bar = null) { ... }
// Usang: Menandai parameter $bar secara implisit sebagai nullable sudah
// tidak digunakan lagi, tipe nullable eksplisit harus digunakan sebagai gantinya
Perilaku ini sekarang udah gak dipake lagi dan akan dihapus di PHP 9. Solusinya adalah dengan membuat Book secara tersirat dapat di-null
-kan:
function foo(?string $bar = null) { ... }
Itu dia beberapa fitur keren di PHP 8.4 yang bakal bikin coding jadi lebih menyenangkan. Tunggu apalagi? Stay tuned buat update selanjutnya sampai PHP 8.4 resmi dirilis!