Rumah >pembangunan bahagian belakang >tutorial php >Bolehkah Operator Nullsafe PHP Memudahkan Akses Harta Bersyarat?
Memanfaatkan Operator Nullsafe PHP untuk Navigasi Bersyarat
Pembangun PHP sering menghadapi situasi di mana mereka perlu mengakses sifat atau kaedah objek yang mungkin batal . Secara tradisinya, ini memerlukan semakan nol yang rumit dan sarang pengendali ternary untuk mengakses nilai yang dikehendaki dengan selamat. Walau bagaimanapun, dengan pengenalan PHP 8, pengendali selamat nol (-?) meningkatkan kebolehbacaan kod dan mengurangkan verbositi yang dikaitkan dengan operasi sedemikian.
Soalan:
Adakah terdapat cara ringkas untuk menulis kod berikut menggunakan navigasi yang selamat operator?
echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';
Jawapan:
Dalam PHP versi 8 dan lebih baru, anda boleh memanfaatkan pengendali selamat nol (-?) bersama-sama dengan operator penggabungan nol (??) untuk menyelesaikan tugasan ini. Kod yang terhasil memudahkan sintaks dengan ketara:
echo $data->getMyObject()->getName() ?? '';
Dengan menggunakan -? pengendali selamat null, rangkaian pengendali terputus dengan berkesan jika bahagian kiri adalah batal. Ini mengembalikan null, membenarkan pengendali penggabungan nol menggantikan nilai lalai dengan rentetan kosong.
Memahami Operator Nullsafe (-?)
Pengendali selamat null membenarkan pengaturcara untuk secara selektif menamatkan rantaian sifat atau kaedah panggilan pada titik tertentu. Operator yang memeriksa atau berinteraksi dengan dalaman objek dianggap sebagai sebahagian daripada rantaian, termasuk:
Contoh:
Pertimbangkan kod berikut:
$string = $data?->getObject()->getName() . " after";
Jika $data adalah batal, kod ini menjadi bersamaan dengan:
$string = null . " after";
Ini kerana pengendali penggabungan rentetan bukan sebahagian daripada rantai dan tidak litar pintas.
Dengan menggunakan pengendali selamat nol, pembangun PHP boleh mengendalikan dengan berkesan nilai nol dalam senario navigasi bersyarat dan mempertingkatkan kebolehbacaan serta ketepatan kodnya.
Atas ialah kandungan terperinci Bolehkah Operator Nullsafe PHP Memudahkan Akses Harta Bersyarat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!