PHP:将对象实例化为类的属性

PHP:将对象实例化为类的属性,php,Php,我有一行代码: class foo{ public $object = new bar(2); public function index(){ dd($this->object); } } 而条对象包含: class bar{ protected $number; function __construct($number){ $this->number = $number; } } 现在,它的常

我有一行代码:

class foo{
    public $object = new bar(2);

    public function index(){
        dd($this->object);
    }
}
对象包含:

class bar{
    protected $number;

    function __construct($number){
        $this->number = $number;
    }
}

现在,它的常量表达式包含无效操作

在类属性声明期间,当前无法实例化对象。这应该在对象构造函数中完成:

class foo{
    public $object;

    public function __construct() {
        $this->object = new bar(2);
    }

    public function index(){
        dd($this->object);
    }
}

文档中的第一个示例显示了哪些值和表达式对于实例化类属性是有效的-。不幸的是,你能做什么和不能做什么并不特别直观。