[英]Assign static method output to static member variable in php
我试图将静态方法的输出分配给PHP中的静态变量,但始终会收到错误。
解析错误:语法错误,。/ MyClass.php中第8行的意外T_FUNCTION
class MyClass
{
public static function myMethod()
{
return array('a' => 'b'); //some array
}
public static $myarr = self::myMethod();
}
我也尝试过...
class MyClass
{
public static $myarr = call_user_func(function
{
return array('a' => 'b'); //some array
}
);
}
...但是我在第3行上遇到了相同的错误。我已经经历了很多次了,而且我没有看到任何错别字,所以我不确定自己在做什么错。 有任何想法吗?
您不能在声明时通过调用函数将值分配给静态变量。
引用手册 (我的重点):
它们是使用关键字public,protected或private之一定义的,后跟普通变量声明。 该声明可以包括一个初始化,但是此初始化必须是一个常量值-也就是说, 它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估 。
更改:
public static myMethod()
至:
public static function myMethod()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.