繁体   English   中英

将静态方法输出分配给php中的静态成员变量

[英]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.

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