在静态属性中不能使用静态方法吗? [语法错误,意外'(']

时间:2014-10-09 15:49:57

标签: php

我有一个Config类:

class Config{
    [...]
    public static function url()
    {
        if(self::debug)
            return "https://localhost:44300";
        else
            return "https://www.mysite.com";
    }
    [...]
}

然后是一个管理Facebook登录的类,我想用回调uri定义一个字符串:

class Fb
{
    public static $login_redirecturi = Config::url() . "/login/";
    [...]
}

但我无法理解为什么会出错:

  

解析错误:语法错误,第20行[...]中的意外'(',期待','或';'

enter image description here

我该怎么办?

1 个答案:

答案 0 :(得分:3)

您无法在属性声明上调用方法。

来自PHP文档:

  

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

http://php.net/manual/en/language.oop5.properties.php