【问题标题】:Cannot set variable in class equal to a function无法将类中的变量设置为等于函数
【发布时间】:2014-11-19 14:43:33
【问题描述】:

我今天开始学习面向对象的 PHP 编程,但我正在努力解决以下问题:

我可以设置一个变量,例如等于 10:

class exampleClass {
   private $number = 10;
}

但我不能将它设置为等于返回 10 的函数:

class exampleClass {
   private $number = exampleFunction();
}

【问题讨论】:

  • 如果需要使用函数,在类的构造函数中初始化变量。
  • 不,你不能。需要评估函数,而在解析类时不会发生这种情况。如果您想这样做,请为此使用初始化方法或构造函数。

标签: php class variables object


【解决方案1】:

您不能直接将类属性设置为表达式:

无效:

class Test {
    protected $blah = 1 + 1;
}

而是在类构造中设置它:

class Test {
    protected $blah;

    public function __construct() {
        $this->blah = 1 + 1;
    }
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    • 2018-11-23
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多