2011-08-08 17 views
4

可能性の重複:
Reference - What does this symbol mean in PHP?オブジェクト演算子( - >)

このそんなに知識をひけらかすことについて申し訳ありませんが、私は、オブジェクトの演算子について混乱しています( - >) 。正確に何をやっているのですか(エラーや誤用を避けるために)どうすれば使用できますか?

+5

[この記号はPHPで何を意味していますか]を参照してください(http://stackoverflow.com/questions/3737139/reference-what-this-symbol-mean-in-php) – Nightfirecat

答えて

11

次のようにオブジェクトの演算子を使用するためには、あなたは、クラスを作成してインスタンス化する必要があります。

class MyClass { 
    public $myVar; 

    public function myMethod() { 

    } 
} 

$instance = new MyClass(); 

$instance->myVar = "Hello World"; // Assign "Hello World" to "myVar" 
$instance->myMethod(); // Run "myMethod()" 

私は上記のコードを説明してみましょう:

  1. まず、持つクラス"myVar"という変数と "myMethod"という名前のメソッド(基本的にクラス内の関数)を持つ "MyClass"という名前が作成されます。
  2. "$ instance"が作成され、 "MyClass"クラスの新しいインスタンスが割り当てられます。
  3. $ instance-> myVarオブジェクトオペレータは$ instanceオブジェクト内のパブリックインスタンス変数にアクセスし、値に "Hello World"という値を割り当てます。同様に、 "myMethod"は$ instanceオブジェクト内で呼び出され、object演算子も使用されます。

オブジェクト演算子は、オブジェクト内の「stuff」にアクセス、実行、または割り当てるPHPの方法です。

希望に役立ちます。

+0

皆さん、ありがとうございました:)とても役に立ちました。 –

5

そのように。他の言語で例えば、あなたが(メソッドバウンスでボールと呼ばれるオブジェクトを持っている場合)、ほとんどの言語で、それはPHPで

ball.bounce(); 

だろう、それは

ball->bounce(); 
+0

=>同様ですto - >? –

+1

他の言語では、 '.'はPHPで' :: 'のことをするので、この比較は混乱するかもしれません。 – rid

+0

@Max、no、 '=>'は ' - >'とはまったく関係がありません。 – rid

2

あるオブジェクト演算子、 " - >"、オブジェクトスコープでオブジェクトのメソッドとプロパティにアクセスするために使用されます。意味は、演算子の右側にあるのは、演算子の左側の変数にインスタンス化されたオブジェクトのメンバです。

から:http://www.robert-gonzalez.com/2009/03/04/php-operators-double-and-single-arrow/

他の言語はobj.meth()のように、このためにドット表記を使用しています。