Penugasan Nilai Harta Kelas Dinamik dalam PHP
Mentakrifkan sifat kelas dengan nilai tetap ialah pendekatan standard dalam PHP. Walau bagaimanapun, dalam senario tertentu, anda mungkin perlu menetapkan nilai secara dinamik.
Contoh:
Pertimbangkan kod berikut:
class user { public $firstname = "jing"; public $lastname = "ping"; public $balance = 10; public $newCredit = 5; public $fullname = $this->firstname.' '.$this->lastname; public $totalBal = $this->balance+$this->newCredit; }
Ini kod cuba untuk menetapkan nama penuh dan sifat totalBal secara dinamik berdasarkan nilai sifat lain. Walau bagaimanapun, ia mengakibatkan ralat penghuraian disebabkan penggunaan $this dalam sifat peringkat kelas.
Penyelesaian:
Untuk menetapkan nilai sifat kelas secara dinamik, letakkan kod tugasan dalam pembina kelas. Contohnya:
class user { private $firstname; private $lastname; private $balance; private $newCredit; private $fullname; private $totalBal; public function __construct() { $this->firstname = "jing"; $this->lastname = "ping"; $this->balance = 10; $this->newCredit = 5; $this->fullname = $this->firstname.' '.$this->lastname; $this->totalBal = $this->balance+$this->newCredit; } }
Penjelasan:
Sifat kelas tidak boleh diberikan nilai dinamik semasa pengisytiharan. Menurut manual PHP, permulaan mestilah nilai malar yang dinilai pada masa penyusunan. Dengan menggunakan pembina, nilai boleh diberikan secara dinamik semasa penciptaan objek.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Nilai Secara Dinamik kepada Sifat Kelas dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!