Dalam PHP, apabila menghadapi ralat "Ralat maut: Tidak dapat mengakses harta kosong," pengaturcara pada mulanya mungkin bingung. Untuk menjelaskan isu ini, mari kita teliti konteks di sebalik ralat ini.
Ralat timbul apabila cuba mengakses sifat objek yang tidak wujud. Pertimbangkan kod berikut:
<code class="php">class MyClass { var $my_value = array(); function set_value ($value) { $this->$my_value = $value; // Here lies the issue } }</code>
Ralat berlaku apabila mengakses sifat $my_value menggunakan $this-> pembolehubah. Daripada merujuk kepada harta sebenar bernama $my_value, ia secara tidak sengaja memberikan nilai kepada harta dengan nama yang disimpan dalam $my_value. Ini, seterusnya, mengakibatkan percubaan untuk mengakses sifat kosong.
Sintaks yang betul untuk menetapkan nilai kepada sifat $my_value hendaklah:
<code class="php">$this->my_value = $value;</code>
Untuk mengelakkan perangkap sedemikian, pertimbangkan menggunakan amalan terbaik:
Atas ialah kandungan terperinci Apa yang Menyebabkan \'Ralat Maut PHP: Menangani Harta Kosong\' dan Cara Mengelakkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!