在类构造函数中或在定义时启动数组



我有一个$rawText类属性,应该是数组。它在对象构造期间被分配了一个值,但是可能找不到该值,因此变量仍然没有值。

class TextProcessor {
    public $rawText;
    public function __construct($idText) {
        if ($idText !== NULL) {
            $this->$rawText = $this->getRawText();
        }
    }
}

那我需要分配一个空数组吗?公共函数 __construct($idText) {

if ($idText !== NULL) {
    $this->$rawText = $this->getRawText(); 
} else {
    $this->$rawText = Array();
}

或者,也许在定义属性时分配空数组会更好?

class TextProcessor {
        public $rawText = Array();
    }
 class TextProcessor {
        public $rawText = array();
        public function __construct($idText) {
            if (! empty($idText)) {
                $this->rawText = $this->getRawText();
            }
        }
    }

我认为这就是你想做的。

我认为构造方法通常用于定义一些私有变量。如果要为$rawText提供新值,在实例化此类后,可以编写一个 set 属性方法来更改其值。

最新更新