我有一个使用php file.php ...
hhvm --version
给出HipHop VM 3.11.0 (rel)
当我从无业游民(hhvm)运行时,它抱怨Fatal error: Arrays are not allowed in class constants in certainfile.php on line xxx
。使用hhvm file.php ...
。
在我的文件中,我的const定义为:
class Lalala {
const AB_C = array(A::a, B::b,...);
function xyz {...use self::AB_C ...}
}
我试图将其更改为
define("AB_C", array(A::a, B::b,...));
,但它甚至无法编译时出现语法错误。
请问如何在这里声明常量数组? 谢谢。
define("AB_C", serialize(array(A::a, B::b,...)));
也因相同的语法错误而失败
define("AB_C", jsonencode(array(A::a, B::b,...)));
也因相同的语法错误而失败
答案 0 :(得分:3)
在我相信3.19之前,您不能将数组用作类常量,我知道它从HHVM 3.19.2开始可以使用,但可能早一点了。如果将HHVM更新到最新(或至少是最新)版本,它将起作用。
https://hhvm.com/blog/2017/04/13/hhvm-3-19.html
值得注意的更改包括:
常量数组支持。