是否可以定义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; function login() { //some method goes here! } }
产量:
解析错误:语法错误,第6行出现意外的’$ this’(T_VARIABLE)
上面的代码有什么问题吗?如果是这样,请指导我,如果不可能,那么实现此目的的最佳方法是什么?
您可以像这样将其放入构造函数中:
public function __construct() { $this->fullname = $this->firstname.' '.$this->lastname; $this->totalBal = $this->balance+$this->newCredit; }
您为什么不能按照自己的方式去做?手册中的引言对此进行了解释:
该声明可以包括一个初始化,但是此 初始化必须是一个常量值 -也就是说,它必须能够在编译时进行评估, 并且必须不依赖于运行时信息 才能进行评估。