【发布时间】:2017-07-06 09:06:39
【问题描述】:
是否可以在定义一个静态属性的同时包含另一个静态属性?类似于以下代码示例:
class Foo {
public static $foo = array(Bar::$bar);
}
class Bar {
public static $bar = "Hello";
}
显然这不会编译,并导致以下错误:
致命错误:常量表达式包含无效操作
有没有办法在声明自己的类时调用其他类的静态/常量?我正在尝试减少代码重用,这对我来说是最简单的方法。
显然在 PHP 5.6 之前没有办法做到这一点,所以我使用的是 PHP 7/7.1。
【问题讨论】:
-
根据properties declaration man page,“这个声明可能包含一个初始化,但是这个初始化必须是一个常量值——即”