Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Kod PHP Saya Melemparkan Ralat 'Fatal: Ungkapan Malar Mengandungi Operasi Tidak Sah' Apabila Memulakan Pembolehubah Statik?

Mengapa Kod PHP Saya Melemparkan Ralat 'Fatal: Ungkapan Malar Mengandungi Operasi Tidak Sah' Apabila Memulakan Pembolehubah Statik?

Barbara Streisand
Lepaskan: 2024-12-01 04:14:08
asal
1003 orang telah melayarinya

Why Does My PHP Code Throw a

Ralat Maut PHP: Ungkapan Malar Operasi Tidak Sah

Apabila menghadapi ralat "Ralat maut: Ungkapan malar mengandungi operasi tidak sah," ia timbul apabila pembolehubah statik PHP cuba untuk memulakan dengan nilai bukan literal atau tidak tetap sebelum PHP 5.6.

Dalam kes anda, baris yang dimaksudkan:

protected static $dbname = 'mydb_'.$appdata['id'];
Salin selepas log masuk

cuba untuk memulakan sifat statik $dbname dengan nilai pembolehubah dinamik $appdata['id']. Walau bagaimanapun, sifat statik memerlukan permulaan dengan pemalar atau literal sebelum PHP 5.6.

Sebab di sebalik ini ialah pengisytiharan statik dinilai pada masa penyusunan, yang bermaksud penterjemah PHP tidak boleh mengakses pembolehubah dinamik yang hanya diketahui pada masa jalan . Untuk menyelesaikan ralat ini, anda boleh:

  • Gantikan $appdata['id'] dengan rentetan malar: Pastikan nama pangkalan data ialah nilai tetap dan tetapkannya secara langsung, cth., $dbname statik dilindungi = 'mydb_my_app';.
  • Alih keluar statik atribut: Jika $dbname tidak perlu menjadi statik, isytiharkannya sebagai pembolehubah biasa tanpa kata kunci statik, cth., protected $dbname = 'mydb_my_app';.

Atas ialah kandungan terperinci Mengapa Kod PHP Saya Melemparkan Ralat 'Fatal: Ungkapan Malar Mengandungi Operasi Tidak Sah' Apabila Memulakan Pembolehubah Statik?. 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