【发布时间】:2017-02-14 14:47:15
【问题描述】:
我正在尝试设置一个 PHP 类:
class SomeClass {
private $tags = array(
'gen1' => array('some string', 1),
'gen2' => array('some string', 2),
'gen3' => array('some string', 3),
'gen4' => array('some string', 4),
'gen5' => array('some string', 5),
);
private $otherVar = $tags['gen1'][0];
}
但这会引发错误:
PHP 解析错误:语法错误,意外的“$tags”
将其切换到通常的...
private $otherVar = $this->tags['gen1'][0];
返回相同的错误:
PHP 解析错误:语法错误,意外的 '$this'
但是在函数中访问变量很好:
private $otherVar;
public function someFunct() {
$this->otherVar = $this->tags['gen1'][0];
}
如何使用之前定义的类变量来定义和初始化当前的类变量,而不需要额外的函数?
【问题讨论】:
-
正确的方法是使用最后一个代码块,它必须能够在编译时被评估,并且不能依赖于运行时,de2.php.net/manual/en/language.oop5.properties.php
-
在构造函数中赋值。
-
很好,谢谢大家。
标签: php class-variables