不幸的是,PHP中无法实现以下功能:
class SpamHam {}
class EggBaz {
function EggBaz($var) {
}
}
class FooBar {
public $fields = array( new SpamHam, new EggBaz(9) );
}
例如,Java允许以下内容:
class FooBar {
public static Object fields[];
static {
fields = new Object[] { new SpamHam(), new EggBaz(9) };
}
}
PHP中有类似的东西吗?我想避免像这样的结构:
class FooBar {
static $fields = null;
static function initFields() {
static::$fields = array( new SpamHam, new EggBaz(9) );
}
}
FooBar::initFields();
答案 0 :(得分:1)
简而言之:抱歉,没有。
类属性只能用常量值初始化,并且没有什么像静态构造函数。