-> ……なにこれ?

xoops,というか Cubson の前身である exTools/exFrame で初めて php に触れたのですが,まず躓いたのが,

$handler->getObject();

みたいなコードでした。これ何〜? ー>

参考書ひいても,索引に載っていないことが多いんですよ。ググっても出てこないし。いったいどうやって調べれば!? って感じでした。

いろいろ本を読んでいくと,どうやらオブジェクト指向に関係するらしいというのが分かって,そのあとは何とか。

上の例では,「$handler オブジェクトよ,getObject メソッドを実行しなさい」という意味です。

$userid = $user->mId;

だと,「$user オブジェクトの mId プロパティを $userid にセットしなさい」という命令。

似ていますが,-> の後ろに () が付いていればメソッドの実行,付いていなければプロパティへのアクセスを表します。


あと理解するのに時間がかかったのが $this。これはクラスを書くときによく使う変数で,そのクラス自身を表します。

例えば,

class TestEdit()
{
  var $mSum = 0;  //TestEdit クラスのメンバプロパティ
  function calc($a, $b)  //TestEdit クラスのメソッド
  {
    $this->mSum = $a + $b;
  }
}

といった使い方をします。最初の頃は,なぜ

$mSum = $a + $b;

じゃないのか,とか,

$TestEdit->mSum = $a + $b;

じゃだめ?とか悩んでいました(^ ^;)。