繁体   English   中英

PHP:静态属性中的类实例引发异常

[英]PHP: Class instantiation in static property throws exception

我想创建一个具有私有静态属性的类(例如Bar )。 此属性应该是Foo的对象数组。

<?php

class Foo {

}

class Bar {
    private static $classes = array(new Foo(), new Foo());

    public static function testClasses() {
        var_dump(self:$classes);
    }
}

Bar::testClasses();

但是,此代码引发异常:

PHP Parse error: syntax error, unexpected 'new' (T_NEW), expecting ')' in [...]/test.php on line 8

有人可以解释一下为什么这不可能吗?

文档

该声明可以包括一个初始化,但是此初始化必须是一个常量值-也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估。

您使用new实例化属性定义中的类取决于运行时信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM