【发布时间】:2012-02-06 11:07:01
【问题描述】:
是否可以在 PHP 中将类的实例声明为属性?
基本上我想要实现的是:
abstract class ClassA()
{
static $property = new ClassB();
}
好吧,我知道我不能这样做,但是除了总是做这样的事情之外还有其他解决方法吗:
if (!isset(ClassA::$property)) ClassA::$property = new ClassB();
【问题讨论】:
-
This has been asked multiple times before. Properties cannot be initialized with runtime dependent information. 在Ctor中设置实例。或者在 Getter 中延迟加载。
-
是的,我知道我可以在构造函数中设置它,但就我而言,我需要一个静态类。不过感谢您的努力:)
-
@Paulius 你也可以在ctor中设置静态属性,所以我看不出“但是”的原因。