我可以在PHP类中使用函数作为变量吗?

Ada*_*dam 1 php variables class function object

是否有可能创建一个运行函数的变量并在调用时保持其返回值?如下例所示:

class Object{
     public $var = $this->doSomething();
     function doSomething(){
          return "Something";
     }
}

$object = new Object();
echo $object->$var;
Run Code Online (Sandbox Code Playgroud)

只因为我收到这个错误:

解析错误:语法错误,第2行的test.php中出现意外的T_VARIABLE

Mat*_*hew 6

您必须在构造函数中初始化它(如果值不是某些'编译时'常量):

class Object {
     public $var;

     function __construct() {
          $this->var = $this->doSomething();
     }

     function doSomething() {
          return "Something";
     }
}
Run Code Online (Sandbox Code Playgroud)

  • (如果值不是常量表达式):) (2认同)