PHP 8 Telah Dirilis
Tanggal 26 Novemper, PHP Net telah merilis PHP 8 Anda bisa mendownloadnya di sini. Ini adalah versi utama baru, yang berarti akan memperkenalkan beberapa perubahan penting, serta banyak fitur baru dan peningkatan kinerja.
Karena perubahan total, ada kemungkinan lebih tinggi Anda harus membuat beberapa perubahan dalam kode Anda untuk menjalankannya pada PHP 8. Jika Anda tetap up-to-date dengan rilis terbaru, peningkatan seharusnya tidak terlalu sulit, karena sebagian besar perubahan yang merusak tidak lagi digunakan sebelumnya di versi 7.*. Dan jangan khawatir, semua penghentian ini tercantum dalam postingan ini.
Tim pengembangan PHP mengumumkan ketersediaan langsung dari PHP 8.0.0. Rilis ini menandai rilis utama terbaru dari bahasa PHP.
Selain perubahan total, PHP 8 juga menghadirkan serangkaian fitur baru yang bagus seperti compiler JIT, tipe union, atribut, dan banyak lagi.
PHP 8.0 hadir dengan banyak peningkatan dan fitur baru seperti:
- Union Types
- Named Arguments
- Match Expressions
- Attributes
- Constructor Property Promotion
- Nullsafe Operator
- Weak Maps
- Just In Time Compilation
- Dan masih banyak lagi...
Union Types
Mengingat karakter imu PHP yang diketik secara dinamis, ada banyak kasus di mana tipe gabungan dapat berguna. Union Types adalah kumpulan dari dua jenis atau lebih yang menunjukkan bahwa salah satu dari mereka dapat digunakan.
public function foo(Foo|Bar $input): int|float;
Perhatikan bahwa void tidak pernah bisa menjadi bagian dari tipe gabungan, karena ini menunjukkan "tidak ada nilai kembali sama sekali". Selanjutnya, Union nullable dapat ditulis menggunakan | null, atau dengan menggunakan? notasi:
public function foo(Foo|null $foo): void; public function bar(?Bar $bar): void;
JIT
JIT - just in time - compiler menjanjikan peningkatan kinerja yang signifikan, meskipun tidak selalu dalam konteks permintaan web.
Apakah "JIT" berarti "PHP yang lebih baik secara instan", atau apakah ini topik yang lebih bernuansa? Hari ini kita akan melihat secara singkat apa yang sebenarnya dilakukan "JIT", dan yang lebih penting: kesulitan dan peluang yang dibawanya ke dunia PHP.
JIT "singkatan dari" just in time ". Anda mungkin tahu bahwa PHP adalah bahasa yang diinterpretasikan: ia tidak dikompilasi seperti program C, Java atau Rust. Sebaliknya ia diterjemahkan ke kode mesin - hal-hal yang dipahami CPU - pada waktu proses.
"JIT" adalah teknik yang akan mengkompilasi bagian-bagian kode pada saat runtime, sehingga versi yang dikompilasi dapat digunakan sebagai gantinya.
Anggap saja seperti "versi cache" dari kode yang diinterpretasikan, yang dihasilkan saat runtime.
Operator nullsafe
Jika Anda terbiasa dengan operator penggabungan null, Anda sudah terbiasa dengan kekurangannya: ini tidak berfungsi pada pemanggilan metode. Sebagai gantinya, Anda memerlukan pemeriksaan perantara, atau mengandalkan pembantu opsional yang disediakan oleh beberapa kerangka kerja:
$startDate = $booking->getStartDate(); $dateAsString = $startDate ? $startDate->asDateTimeString() : null;
Dengan tambahan operator nullsafe, kita sekarang dapat memiliki perilaku seperti penggabungan nol pada metode!
$dateAsString = $booking->getStartDate()?->asDateTimeString();
Named arguments
Named arguments memungkinkan Anda meneruskan nilai ke suatu fungsi, dengan menentukan nama nilainya, sehingga Anda tidak perlu mempertimbangkan urutannya, dan Anda juga dapat melewati parameter opsional!
function foo(string $a, string $b, ?string $c = null, ?string $d = null) { /* … */ } foo( b: 'value b', a: 'value a', d: 'value d', );
Attributes
Attributes umumnya dikenal sebagai anotasi dalam bahasa lain, menawarkan cara untuk menambahkan data meta ke kelas, tanpa harus mengurai docblocks.
Berikut adalah contoh tampilan :
use AppAttributesExampleAttribute; #[ExampleAttribute] class Foo { #[ExampleAttribute] public const FOO = 'foo'; #[ExampleAttribute] public $x; #[ExampleAttribute] public function foo(#[ExampleAttribute] $bar) { } }
#[Attribute] class ExampleAttribute { public $value; public function __construct($value) { $this->value = $value; } }
Selebihnya mengenai fitur dan fungsinya Anda dapt melihahya di situs PHP.
Demikian update rilis PHP 8.
Semoga informasi ini bermanfaat.