Dokumentasi PHP menentukan bahawa pengisytiharan sifat kelas boleh dimulakan dengan nilai tetap. Walau bagaimanapun, pengguna telah menghadapi ralat sintaks apabila cuba untuk memulakan tatasusunan dengan ungkapan bukan tetap.
Contoh Ralat Sintaks:
<code class="php">public $var = array( 1 => 4, 2 => (4+1), // Syntax error );</code>
Isu Asas:
Ralat berpunca daripada pengehadan dalam PHP 5.5 dan versi terdahulu, di mana hanya nilai tetap dibenarkan dalam pengisytiharan harta. Ini termasuk nilai yang boleh dinilai pada masa penyusunan. Walau bagaimanapun, penggunaan ungkapan yang dikira, seperti "4 1," adalah dilarang.
Resolusi dalam PHP 5.6:
Penghadan ini telah ditarik balik dalam PHP 5.6 dengan pengenalan ungkapan skalar yang berterusan. Ciri ini membenarkan sintaks berikut:
<code class="php">public $var = array( 1 => 4, 2 => (4+1), ); public $var = 4+1;</code>
Kesimpulan:
Ralat sintaks yang ditemui dalam versi PHP yang lebih awal apabila memulakan sifat kelas dengan ungkapan bukan tetap mempunyai telah diselesaikan dalam PHP 5.6 dan versi yang lebih baru. Ungkapan skalar malar kini membolehkan pembangun memulakan sifat dengan nilai terkira yang boleh dinilai pada masa penyusunan.
Atas ialah kandungan terperinci Bolehkah Sifat Kelas PHP Dimulakan dengan Ungkapan Tidak Malar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!