Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengelakkan Ralat 'Mencipta Objek Lalai daripada Nilai Kosong' dalam PHP?

Bagaimana untuk Mengelakkan Ralat 'Mencipta Objek Lalai daripada Nilai Kosong' dalam PHP?

Barbara Streisand
Lepaskan: 2024-12-14 05:06:10
asal
705 orang telah melayarinya

How to Avoid the

Menetapkan Harta Objek Tidak Ditakrifkan: Menyelesaikan Ralat "Mencipta Objek Lalai daripada Nilai Kosong" dalam PHP

Dalam PHP versi 5.4 dan ke atas, memberikan harta kepada objek yang tidak ditentukan menimbulkan amaran "Mencipta objek lalai daripada kosong nilai." Ralat ini boleh berlaku apabila bekerja dengan objek yang dimulakan kepada NULL atau belum ditakrifkan.

Untuk menyelesaikan isu ini, anda boleh sama ada mencipta objek secara manual atau menggunakan objek lalai yang dikenali sebagai stdClass, yang tersedia dalam ruang nama global.

Pertimbangkan kod berikut:

$res->success = false;
Salin selepas log masuk

Di sini, $res diandaikan menjadi objek, tetapi ia tidak ditentukan. Dalam senario ini, PHP akan mencipta objek stdClass baharu dan menetapkan kejayaan harta padanya, yang boleh mengakibatkan amaran yang dinyatakan di atas.

Untuk mengelakkan ini, anda boleh mengisytiharkan $res secara eksplisit sebagai objek stdClass sebelum menetapkan sebarang properties:

$res = new \stdClass();
$res->success = false;
Salin selepas log masuk

Sebagai alternatif, anda boleh menyemak kewujudan $res sebelum menetapkan properties:

if ($res !== null) {
  $res->success = false;
} else {
  // Handle the null case
}
Salin selepas log masuk

Dengan mematuhi amalan ini, anda boleh menyelesaikan amaran "Mencipta objek lalai daripada nilai kosong" dan meningkatkan kebolehpercayaan kod PHP anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Ralat 'Mencipta Objek Lalai daripada Nilai Kosong' dalam PHP?. 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