Rumah > pembangunan bahagian belakang > tutorial php > Bolehkah Operator Nullsafe PHP Mempermudahkan Akses Harta Bersarang?

Bolehkah Operator Nullsafe PHP Mempermudahkan Akses Harta Bersarang?

Barbara Streisand
Lepaskan: 2024-12-14 04:58:09
asal
300 orang telah melayarinya

Can PHP's Nullsafe Operator Simplify Nested Property Access?

Memperkenalkan Operator Nullsafe dalam PHP

Pengendali nullsafe (?->) membenarkan pembangun menulis kod yang mengakses sifat objek dengan selamat dan kaedah tanpa memerlukan semakan nol yang jelas. Ini memudahkan kod dan meningkatkan kebolehbacaan, terutamanya dalam hierarki objek yang kompleks.

Pertanyaan

Bolehkah kita menulis semula pernyataan berikut menggunakan pengendali nullsafe?

echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';
Salin selepas log masuk

Jawapan

Dari PHP 8 seterusnya, kita boleh menggunakan pengendali nullsafe bersama-sama dengan pengendali gabungan nol (?) untuk mencapai gelagat yang diingini.

Penyelesaian

echo $data->getMyObject()?->getName() ?? '';
Salin selepas log masuk

The ?-> ; operator memutuskan rantaian operator apabila menemui nilai null, mengembalikan null secara berkesan dan menamatkan ungkapan. Operator yang memeriksa sifat objek atau menggunakan kaedah dianggap sebagai sebahagian daripada rantaian, termasuk:

  • Akses tatasusunan ([]), akses harta (->), akses harta nullsafe (?->) , akses sifat statik (::), panggilan kaedah (->), panggilan kaedah nullsafe (?->), dan panggilan kaedah statik (::)

Selain itu, jika pengendali berikutnya dalam rantai tidak dianggap sebagai sebahagian daripada rantai (cth., operator gabungan dalam contoh di bawah), mereka tidak akan dilitar pintas:

$string = $data?->getObject()->getName() . " after";
Salin selepas log masuk

Dalam kes ini, jika $data adalah batal, kod akan menghasilkan:

$string = null . " after";
Salin selepas log masuk

Atas ialah kandungan terperinci Bolehkah Operator Nullsafe PHP Mempermudahkan Akses Harta Bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan