【问题标题】:PHP SplObjectStorage Cannot create within a class [duplicate]PHP SplObjectStorage无法在类中创建[重复]
【发布时间】:2014-07-29 11:10:57
【问题描述】:

是否可以将受保护的SplObjectStorage 初始化为类中的映射?每当我尝试这个时,我似乎都会遇到错误。类似于下面的例子:

class a {

  protected $a = new SplObjectStorage();

  ...

}

【问题讨论】:

  • 只能用简单类型或数组初始化类属性。能够做你想做的事就好了,但这是 PHP 的另一个人为限制
  • 你必须在构造函数中初始化它。
  • 您不能这样做,但您不妨考虑将内部实例注入到外部实例中,这样就不会硬连线了。

标签: php oop object splobjectstorage


【解决方案1】:

你需要使用构造函数

class a {
  public function __construct() {
     $this->a = new SplObjectStorage();
  }

  protected $a;

  ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2021-11-13
    • 2017-03-09
    • 2021-08-11
    相关资源
    最近更新 更多