PHP 中的动态类属性值分配
使用常量值定义类属性是 PHP 中的标准方法。但是,在某些情况下,可能需要动态分配值。
示例:
考虑以下代码:
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; }
这代码尝试根据其他属性的值动态分配 fullname 和totalBal 属性。但是,由于在类级属性中使用 $this,它会导致解析错误。
解决方案:
要动态分配类属性值,请将类构造函数中的赋值代码。例如:
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; } }
说明:
类属性在声明期间不能分配动态值。根据 PHP 手册,初始化必须是在编译时评估的常量值。通过使用构造函数,可以在对象创建时动态分配值。
以上是如何在 PHP 中动态地为类属性赋值?的详细内容。更多信息请关注PHP中文网其他相关文章!