假设我想将类变量设置为(以保持简单):
public $variable = strtolower('Dog');
当我尝试做这样的事情时,我得到:语法错误,意外的'(',期待','或&#39 ;;&#39 ;. ..
我确定这是一个业余错误,但我已经搜索了论坛和Google,无法在任何地方找到答案。如何在类变量中调用内置(适当的术语?)方法?
谢谢。
答案 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:
这个声明可能包括初始化,但是这个 初始化必须是一个常量值 - 也就是说,它必须能够 在编译时进行评估,不得依赖于运行时 信息以便进行评估。