なんとなく$this
や->
を使ったり、$this
や->
ってなんだって思った駆け出しの方への記事です
かなり大雑把に説明していますが、これくらいの方が最初はイメージがつかみやすいと思います
他の素晴らしい記事の橋渡しになれば幸いです。
$this
はオブジェクト自身を表す特別な変数で
->
はオブジェクトのメソッドやプロパティにアクセスするために使うアロー演算子というものです。
実際にコードで見ていきましょう。
example.php
<?php
//クラス
class Example {
//プロパティ初期化
public $int1 = 100;
public $int2 = 200;
//メソッド
function show()
{
//ローカル変数
$int1 = 'int2';
echo $this->int1;
echo $this->int2;
echo $this->$int1;
}
}
//インスタンス化
$test = new Example();
//オブジェクトのメソッドを呼び出す
$test->show();
echo '------------';
//プロパティを変更する
$test->int1 -= 1;
//取得
echo $test->int1;
$test->show();
この実行結果は以下のようになります
100
200
200
----------
99
99
200
200
$this->$int1
は$this->int2
に変換されるのがミソ
プロパティもメソッドも->
で呼び出すことができる
またメソッドチェーンという連結する書き方もできる
$this->test()->example()
みたいな感じ