在类构造函数中初始化数组还是在定义时?

时间:2013-10-08 06:39:36

标签: php

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

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

我需要分配一个空数组吗? public function __construct($ idText){

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

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

class TextProcessor {
        public $rawText = Array();
    }

2 个答案:

答案 0 :(得分:2)

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

我认为这就是你要做的事情。

答案 1 :(得分:1)

我认为构造方法通常用于定义一些私有变量。如果你想给$ rawText一个新值,在实例化这个类之后,你可以编写一个set属性方法来改变它的值。