如何在类变量中调用方法?

时间:2014-03-13 17:34:00

标签: php class methods

假设我想将类变量设置为(以保持简单):

public $variable = strtolower('Dog');

当我尝试做这样的事情时,我得到:语法错误,意外的'(',期待','或&#39 ;;&#39 ;. ..

我确定这是一个业余错误,但我已经搜索了论坛和Google,无法在任何地方找到答案。如何在类变量中调用内置(适当的术语?)方法?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以将类属性初始化为常量值,但不能调用函数。但是,您可以在构造函数中执行此操作。

class Test {
    public $var1 = 'Dog';  // <-- This is allowed
    public $var2 = strtolower('Dog'); // <-- This is not allowed

    public function __construct() {
        $this->var2 = strtolower('Dog');
    }
}

来自docs

  

这个声明可能包括初始化,但是这个   初始化必须是一个常量值 - 也就是说,它必须能够   在编译时进行评估,不得依赖于运行时   信息以便进行评估。