2010-12-02 9 views
0

パブリッククラス変数を宣言して設定するこれらのメソッドには違いがありますか?どちらか一方を選ぶ理由はありますか?PHPでパブリッククラス変数を定義する最良の方法

方法最初のケースで1つの

class example { 

    public $myArray; 

    function __construct() { 
    $this->myArray = array(1, 2, 3); 
    } 

    function showVar() { 
    print_r($this->myArray); 
    } 

} 

方法2

class example { 

    public $myArray = array(1, 2, 3); 

    function showVar() { 
    print_r($this->myArray); 
    } 

} 

答えて

2

コードは、新しいクラスのインスタンスを作成するたびに評価されるであろう。

2番目のケースでは、クラスが解析されたときに1回だけ評価されます。

それだけです。

+0

だから、変数を最初に計算しなければならない場合は、コンストラクタを使ってパブリッククラス変数を設定したいと思うでしょうか?そして、配列が決して変化しない私の例の場合、方法2は正しいでしょうか? – Chris

+0

@Chris:メンバーを静的に計算することができないことがあります。たとえば、現在の時間を置く必要がある場合などです。この場合、コンストラクタのデータを初期化する必要があります。 – zerkms

関連する問題