PENDAHULUAN
PHP selalu berkembang, dan penting untuk tetap terbaru dengan fitur-fitur dan perbaikan terbaru. Artikel ini memperkenalkan 20 fitur PHP yang sebaiknya Anda ketahui pada tahun 2023, masing-masing diilustrasikan dengan contoh kode yang berguna.
1. str_contains()
Memeriksa apakah sebuah string terdapat di dalam string lain.
$sentence = “The quick brown 🦊 jumps over the lazy 🐶.”;
$word = “🦊”;
if (str_contains($sentence, $word)) {
echo “The sentence contains the word 🦊.”;
}
2. str_starts_with()
Memeriksa apakah sebuah string diawali dengan substring tertentu.
$sentence = “🚀 Launching into space!”;
if (str_starts_with($sentence, “🚀”)) {
echo “The sentence starts with a rocket emoji!”;
}
3. str_ends_with()
Memeriksa apakah sebuah string diakhiri dengan substring tertentu.
$sentence = “It’s a beautiful day! ☀️”;
if (str_ends_with($sentence, “☀️”)) {
echo “The sentence ends with a sun emoji!”;
}
4. get_debug_type()
Mendapatkan jenis dari sebuah variabel.
$num = 42;
echo get_debug_type($num); // “integer”
5. get_resource_id()
Mengembalikan identifikasi unik dari sumber daya yang diberikan.
$file = fopen(‘test.txt’, ‘r’);
echo get_resource_id($file); // e.g., “7”
6. fdiv()
Fungsi pembagian yang mencakup dukungan untuk pembagian oleh nol.
$result = fdiv(10, 0); // INF
7. preg_last_error_msg()
Mengembalikan pesan yang dapat dibaca manusia untuk kesalahan eksekusi regex PCRE terakhir.
preg_match(‘/(/’, ”);
echo preg_last_error_msg(); // “missing )”
8. array_key_first()
Mengambil kunci pertama dari sebuah array.
$array = [‘🍏’=>‘Apple’, ‘🍊’=>‘Orange’, ‘🍇’=>‘Grape’];
echo array_key_first($array); // “🍏”
9.array_key_last()
Mengambil kunci terakhir dari sebuah array.
$array = [‘🍏’=>‘Apple’, ‘🍊’=>‘Orange’, ‘🍇’=>‘Grape’];
echo array_key_last($array); // “🍇”
10.ErrorException::getSeverity()
Mendapatkan tingkat keparahan dari kesalahan.
try {
trigger_error(“Custom error”, E_USER_WARNING);
} catch (ErrorException $e) {
echo $e->getSeverity(); // 512
}
11.Fungsi Filter
PHP 8 memperkenalkan beberapa fungsi filter baru. Berikut adalah contoh penggunaan filter_var dengan FILTER_VALIDATE_BOOL:
var_dump(filter_var(‘yes’, FILTER_VALIDATE_BOOL)); // bool(true)
12. Peta Lemah
Kelas baru yang menyimpan referensi ke objek, yang tidak mencegah objek-objek tersebut dari dikumpulkan oleh pemulung sampah.
$weakmap = new WeakMap();
$obj = new stdClass();
$weakmap[$obj] = ‘Hello, world!’;
13. Objek Nilai (value Objects)
PHP 8 memperkenalkan Constructor Property Promotion, sintaks baru untuk mengkonstruksi objek nilai.
class Money {
public function __construct(
public int $amount,
public string $currency
) {}
}
$tenDollars = new Money(10, ‘USD’);
14.Ekspresi Pencocokan (Match Ekspression)
Ini adalah pernyataan mirip switch.
echo match (1) {
0 => ‘🚫’,
1 => ‘✅’,
default => ‘⁉️’,
};
15.Operator Nullsafe
Operator baru ini (?->) memungkinkan pemeriksaan null saat mengakses properti atau metode.
class User {
public function getAddress(): ?Address {
// returns Address or null
}
}
$user = new User();
$country = $user?->getAddress()?->country; // no error if getAddress() returns null
16.Argumen Bernama
Fitur ini memungkinkan Anda untuk melewatkan nilai ke dalam fungsi dengan menentukan nama nilai tersebut.
new Money(amount: 10, currency: ‘USD’);
17.Atribut
Juga dikenal sebagai anotasi dalam bahasa pemrograman lain.
#[Attribute]
class ExampleAttribute {}
#[ExampleAttribute]
class ExampleClass {}
18.Promosi Properti Konstruktor
Fitur ini memungkinkan penggabungan properti kelas dan konstruktor menjadi satu deklarasi.
class Money {
public function __construct(
public int $amount,
public string $currency
) {}
}
19.Tipe Union
Fitur ini memungkinkan deklarasi tipe yang dapat berupa salah satu dari beberapa tipe.
function print_id(int|string $id): void {
echo ‘ID: ‘ . $id;
}
20.Kompilasi Just In Time (JIT)
PHP 8 memperkenalkan dua mesin kompilasi JIT, yaitu Tracing JIT dan Function JIT.
Catatan: Kompilasi JIT bukanlah fitur yang dapat Anda tunjukkan langsung dengan potongan kode, tetapi ini adalah perbaikan penting dalam PHP 8 yang dapat memberikan peningkatan kinerja yang signifikan.
Kesimpulan
PHP adalah bahasa yang terus berkembang dengan banyak fitur baru dan perbaikan yang menarik. Baik Anda seorang pengembang PHP berpengalaman atau pemula, sangat berharga bagi waktu Anda untuk mengenal fitur-fitur baru ini dan menggunakannya dalam kode Anda. Tetaplah ingin tahu, terus belajar, dan selamat coding! 🚀
0 Comments