PHPのclassの使い方について質問です。


たまにアロー演算子(->)を複数指定しているコードを見かけます。
そこでテストとして以下のようなコードを書いたのですが、エラーになります。

class TEST{
function test1($val){
return $val;
}
function test2($val){
return $val;
}
}

$obj = new TEST;
echo $obj->test1("Hello,")->test2("World!");


どういう書き方をすれば、複数指定が出来るのでしょうか?
出来れば参考URLも教えて下さい。

回答の条件
  • 1人2回まで
  • 登録:2009/03/26 03:02:58
  • 終了:2009/03/27 07:56:29

回答(1件)

id:atrem No.1

atrem回答回数4ベストアンサー獲得回数02009/03/26 13:08:30

ポイント60pt

お望みのものかはわかりませんが、

アローを複数使って動いているものはこんな感じだと思います。

class TESTB{

function test2($val){

return $val;

}

}

class TESTA{

function test1($val){

echo $val;

$objTest2 = new TESTB;

return $objTest2;

}

}

$obj = new TESTA;

echo $obj->test1("Hello,")->test2("World!");


アローはクラスオブジェクトに対して使用できるので、

『$obj->test1("Hello,")』の戻り値もクラスオブジェクトではないでしょうか(もしくは、である必要がある。)

id:k27w

回答ありがとうございます。

つまり、クラス内に入れたクラスに対してアクセスするような使い方ですね。


大変勉強になりました。ありがとうございました。

2009/03/27 07:56:07

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません