Para pengembang web, bersiaplah! PHP 8.4 dijadwalkan rilis pada 21 November 2024, dan tentunya membawa segudang fitur baru yang menjanjikan. Artikel ini akan membahas beberapa fitur menarik yang telah diumumkan dan bisa Anda nikmati di versi terbaru nanti.
Kapan PHP 8.4 Dirilis?
Seperti yang disebutkan sebelumnya, PHP 8.4 akan resmi diluncurkan pada 21 November 2024. Namun sebelum tanggal tersebut, versi ini akan melalui 6 bulan fase pra-rilis, mulai dari tahap Alpha, Beta, Release Candidate, hingga akhirnya rilis resmi.
Fitur Baru: Fungsi Pencarian Array
PHP 8.4 akan dilengkapi dengan fungsi pencarian array yang canggih, meliputi:
- array_find(): Menemukan elemen pertama dalam array yang memenuhi kondisi tertentu.
- array_find_key(): Menemukan key pertama dalam array yang nilainya sesuai dengan kondisi tertentu.
- array_any(): Mengembalikan true jika setidaknya ada satu elemen dalam array yang memenuhi kondisi tertentu.
- array_all(): Mengembalikan true jika semua elemen dalam array memenuhi kondisi tertentu.
Ingin tahu lebih lanjut? Cek artikel kami tentang [Fungsi Pencarian Array di PHP 8.4](link ke artikel tentang fungsi pencarian array di PHP 8.4).
Property Hooks : Kontrol Akses dan Pembaruan Properti
Terinspirasi oleh bahasa pemrograman seperti Kotlin, C#, dan Swift, PHP 8.4 memperkenalkan property hooks. Fitur ini memungkinkan Anda untuk mendefinisikan logika kustom saat mengakses atau memperbarui properti. Sintaksnya terdiri dari dua varian, yaitu short closure dan multi-line closure:
PHP
class Pengguna implements DiberiNama
{
private bool $telahDiubah = false;
public function __construct(
private string $namaDepan,
private string $namaBelakang
) {}
public string $namaLengkap {
// Ganti tindakan "baca" dengan logika kustom.
get => $this->namaDepan . " " . $this->namaBelakang;
// Ganti tindakan "tulis" dengan logika kustom.
set {
[$this->namaDepan, $this->namaBelakang] = explode(' ', $value, 2);
$this->telahDiubah = true;
}
}
}
Dengan property hooks, Anda tidak perlu lagi menulis kode boilerplate untuk getter dan setter properti. Anda bisa menentukan logika kustom untuk mengontrol akses dan pembaruan properti.
Pelajari lebih lanjut tentang property hooks di artikel kami [Property Hooks di PHP 8.4](link ke artikel tentang property hooks di PHP 8.4).
Instansiasi Kelas Tanpa Kurung Ekstra
Sejak diperkenalkannya akses member selama instansiasi, Anda diharuskan untuk membungkus panggilan new MyClass()
dengan kurung. Jika tidak, maka akan terjadi error parsing. Sintaks baru yang diusulkan memungkinkan Anda untuk mengakses konstanta, properti, dan metode tanpa kurung ekstra:
PHP
// Membungkus kurung diperlukan untuk mengakses member kelas
$permintaan = (new Permintaan())->denganMetode('GET')->denganUri('/halo-dunia');
// Error parsing PHP (<= PHP 8.3): Sintaks error, token tak terduga "->"
$permintaan = new Permintaan()->denganMetode('GET')->denganUri('/halo-dunia');
Pembaruan ini mengatasi kerumitan yang terjadi saat mengakses member kelas. Dengan sintaks baru, Anda tidak perlu lagi menambahkan kurung atau menggunakan metode konstruktor statis. Perubahan ini juga membuat PHP lebih selaras dengan bahasa pemrograman lain seperti Java, C#, dan TypeScript, yang tidak memerlukan kurung ekstra untuk mengakses member kelas.
Temukan detail lebih lanjut tentang pembaruan ini di artikel kami [Instansiasi Kelas Tanpa Kurung Ekstra di PHP 8.4](link ke artikel tentang instansiasi kelas tanpa kurung ekstra di PHP 8.4).
Pembuatan DateTime dari Cap Waktu Unix Lebih Mudah
Membuat objek DateTime dari cap waktu Unix akan lebih mudah di PHP 8.4. Hal ini berkat hadirnya metode createFromTimestamp()
. Metode ini mendukung cap waktu Unix biasa maupun yang mengandung mikrodetik:
PHP
$dt = DateTimeImmutable::createFromTimestamp(1718337072);
$dt->format('Y-m-d'); // 2024-06-14
$dt = DateTimeImmutable::createFromTimestamp(1718337072.432);
$dt->format('Y-m-d h:i:s.u'); // 2024-06-14 03:51:12.432000
Pada versi PHP sebelumnya, terdapat beberapa cara untuk membuat instance DateTime dari cap waktu, seperti metode createFromFormat()
:
PHP
$dt = DateTimeImmutable::createFromFormat('U', (string) 1718337072);
// DateTimeImmutable @1718337072 {#7948
// date: 2024-06-14 03:51:12.0 +00:00,
// }
$dt = DateTimeImmutable::createFromFormat('U.u', (string) 1718337072.432);
// DateTimeImmutable @1718337072 {#7950
// date: 2024-06-14 03:51:12.432 +00:00,
// }
Metode baru createFromTimestamp()
di PHP 8.4 menawarkan cara yang lebih ringkas dan mudah untuk membuat objek DateTime dari cap waktu Unix, termasuk yang mengandung mikrodetik.
Pelajari Lebih Lanjut
Ingin menjelajahi lebih dalam tentang fitur-fitur baru PHP 8.4? Kunjungi halaman Persiapan PHP 8.4 di wiki resminya: https://wiki.php.net/
Kesimpulan
PHP 8.4 hadir dengan berbagai fitur menarik yang siap meningkatkan performa dan kemudahan pengembangan web. Dengan fitur-fitur seperti array find functions, property hooks, instansiasi kelas tanpa kurung ekstra, dan pembuatan DateTime yang lebih mudah, PHP 8.4 akan menjadi pilihan ideal bagi para pengembang web.
Tunggu apa lagi? Siapkan diri Anda untuk menyambut PHP 8.4 dan rasakan pengalaman pengembangan web yang lebih efisien dan menyenangkan!
Catatan:
- Tanggal rilis dan ketersediaan fitur PHP 8.4 dapat berubah sewaktu-waktu.
- Pastikan untuk selalu memperbarui informasi terbaru dari situs web resmi PHP.
- Bergabunglah dengan komunitas PHP untuk mendapatkan dukungan dan bertukar informasi dengan sesama pengembang.
Semoga bermanfaat!