2013-10-08 72 views
0

我有一個應該是數組的$ 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(); 
    } 

回答

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

我覺得這是你想做什麼。

+0

這樣如果'$ idText'爲空,'rawText'保持未初始化狀態。 –

+0

如果'$ idText'爲空,那麼'rawText'不是未初始化的。它只是一個空的數組 – aacanakin

+0

是的,但它必須首先定義爲空數組,對吧? –

1

我認爲構造方法通常用於定義一些私有的變量。如果你想給$ rawText一個新值,在你實例化這個類之後,你可以編寫一個set屬性方法來改變它的值。

相關問題