2010-12-13 7 views
1

私はPHP OOPに関する構文質問があります。PHP OOPに関する質問

私には2つの機能があります。

public function setBody($body) { 
    $this->body = $body; 
} 

public function return_value($value) { 
    return $value; 
} 

$ bodyは関数内で上位に宣言されています。私がreturn_value関数(何もしないことを実感しています - これは私が覚えている使い方の例です)をsetBodyで呼びたいのですが、その構文は何ですか?

私は$this->body = return_value($body)を試しましたが動作しませんでした。私もreturn_value($this->body)を2行目として試してみましたが、どちらもうまくいきませんでした。

ご協力いただきありがとうございます。

答えて

7

あなたがこれを行う必要があります:

public function setBody($body) { 
    $this->body = $this->return_value($body); 
    // Make a reference to the object you are dealing with -- return_body 
    // is not a global function -- it's a method of the object you are creating. 
} 

public function return_value($value) { 
    return $value; 
} 
+2

ただ、ノート、 'の使用$ this'(または 'this')キーワードはPHPでは必須ですが、ほとんどのOOプログラミング言語(C++、C#、Javaなど)ではありません。私はそれがOPを混乱させるかもしれないと思う。 – netcoder

+0

@netcoder - 良い点、追加情報ありがとう! –

5

あなたはこのように、プロパティとメソッドの両方で$this->表記を使用します。

public function setBody($body) { 
    $this->body = $this->return_value($body); 
} 
+0

迅速なお返事ありがとうございます! – sehummel

+3

@ shummel7845:覚えておいた答えの横にあるチェックマークをクリックして、それを受け入れたものとしてマークしてください。以前の質問についても同じことをする必要があります。 – BoltClock