こんにちは、おーしまです。
今回はPHPの$thisについて書いていきます。
$thisとは、擬似変数と呼ばれ、PHPでクラスを実装する時に自身のプロパティやメソッドにアクセスするために使用します。
つまり、
$this->(プロパティ、メソッド)
と書いて、クラスのプロパティ、メソッドにアクセスすることができるということです。
例です。
<?php class Cars { public $name = ""; public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } } $car = new Cars(); $car->setName("civic"); $car2 = new Cars(); $car2->setName("wrx-sti"); echo $car->getName(). "\n"; echo $car2->name. "\n"; ?>
実行結果:
civic
wrx-sti
今回は、Carsクラスのインスタンスを生成して、
$car->setName("civic");
で、setNameメソッドを呼び出しています。$carはCarsクラスのインスタンスなので、->setName()でメソッドを呼び出すことができます。
setNameメソッドの仮引数$nameに"civic"が代入されました。
$this->name = $name;
上の$thisは、Carsクラスのインスタンスである$carになります。
つまり、$carのnameプロパティにcivicが代入されることになります。
新しくインスタンスを生成した、$car2のnameプロパティにはwrx-stiが代入されていることが分かります。
また、値を取り出すときも同様に、
$this->name
$car2->name
も同じ結果となっています。
今回はここまでです。
それでは、また