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() : '';
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() ?? '';
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:
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";
Dalam kes ini, jika $data adalah batal, kod akan menghasilkan:
$string = null . " after";
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!