2012-04-27 16 views
2

私のクラスにはデフォルトパラメータがあり、必要に応じて引数を省略できる関数が必要です。私はデフォルトをクラスに格納された変数にしたい。PHP関数のデフォルトパラメータとしてのクラス変数の参照

こんにちは、これはなぜAptanaのエラーメッセージを表示していますか?

class property{ 
    private $id; 
    function load_data($id = $this->id){ 
     //...blah blah blah 
    } 
} 

私の代わりに

class property{ 
    static $id; 
    function load_data($id = self::id){ 
     //...blah blah blah 
    } 
} 

を使用する必要がありますか?ヘルプ

答えて

6

ため

おかげで私は、あなたが探しているものをあなたが行うことができないかなり確信しています。その代わりに、引数に値があるかどうかを確認し、そうでない場合は、オブジェクトプロパティであるデフォルト値を割り当ててください。

class property{ 
    private $id; 
    function load_data($id = null){ 
     $id = (is_null($id)) ? $this->id : $id; 
    } 
} 
+2

三元を。 –

+1

私は三項が好きですが、私は変数をそれ自身に設定することを避けようとしています。 –

1

あなたはこれを行うことができます:勝利のため

class property 
{ 
    private $id; 

    function load_data($id = null){ 

     if (is_null($id)) { 
      $id = $this->id; 
     } 

     //...blah blah blah 
    } 
} 
+0

私にそれを打つ。シャックス。 –

+0

LOLは近いレースだった。 –

+0

それほど近くではなく、私が提出する前にAJAX通知を見ました。 ;-) –

関連する問題