PHP在类级别执行高级语句(如Java&x27;s static{})?
不幸的是,以下内容在PHP中不可能实现:PHP在类级别执行高级语句(如Java&x27;s static{})?,php,static,initialization,Php,Static,Initialization,不幸的是,以下内容在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 {
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();
简言之:对不起,没有
类属性只能用常量值初始化,没有什么比静态构造函数更好的了。简而言之:对不起,没有
类属性只能用常量值初始化,没有什么比静态构造函数更好的了