Mengendalikan Ralat "Mencipta Objek Lalai daripada Nilai Kosong" dalam PHP
Dalam versi PHP >= 5.4, anda mungkin menghadapi ralat " Mencipta objek lalai daripada nilai kosong" apabila cuba mengakses harta pada objek yang tidak dimulakan. Ralat ini menandakan bahawa pembolehubah yang dirujuk adalah sama ada batal atau bukan objek.
Penyelesaian Disyorkan:
Untuk menyelesaikan isu ini, isytiharkan pembolehubah sebagai contoh stdClass objek dalam ruang nama global sebelum mengaksesnya sifat:
$res = new \stdClass(); $res->success = false;
Penjelasan:
Dengan amaran E_STRICT didayakan dalam PHP <= 5.3.x atau error_reporting ditetapkan kepada E_WARNING dalam PHP >= 5.4, PHP menguatkuasakan manipulasi objek dengan tegas. Percubaan untuk mengakses sifat pada pembolehubah nol atau bukan objek akan mencetuskan ralat. Mengisytiharkan pembolehubah sebagai objek stdClass memastikan bahawa ia adalah contoh objek dan boleh mempunyai sifat yang ditetapkan kepadanya.
Pendekatan Alternatif:
Sebagai alternatif, anda boleh menggunakan yang berikut pendekatan untuk mengelakkan ralat ini:
if (!isset($res) || !is_object($res)) { $res = new \stdClass(); }
$res = (object) ['success' => false];
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Mencipta objek lalai daripada nilai kosong' dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!