[PHP]オブジェクトの$thisって?

はじめに

  1. $thisの意味
  2. まとめ

こんにちは、Kentaです!

今回はPHP、フレームワークを使い初めて、

$thisって結構書くけどなんだ?を解消していこうと思います!

 

$thisの意味

ぼくもオブジェクトを勉強し始めた頃は$thisって結局のところなんだ?

ってことがあったので、この記事見られる方はここで解消してくださいね!

 

Table、Entity、Controllerを使うとよく分かると思いますが、

必ず$thisを書きますよね!

$thisが指すものはつまり、ぼくって意味です!笑

なにを言ってるかというと、自分を指すときに$thisを使います。

 

例を挙げると、Controllerで$this->Users->execute();って記述があるとします。

ここの$thisって誰?って問いかけると、自分、すなわち今回はUsersControllerになります!

 

もっと説明すると、$this->Usersはぼく(UsersController)の

TableのUsersくんのメソッド読んでー!ってことです。

 

Tableでprivateのメソッド呼ぶときは$this->execute();みたいに書くと思いますが、

これはぼく(UsersTable)のexecuteメソッド読んでねー!って意味です!

 

ここでちょっと壁にぶつかるのが、継承先にもメソッドがある場合。

UsersTableの親がAppTableだとして、そのAppTableに書いてあるメソッドを呼ぶときも、

$this->execute();になります!

 

これ知ってれば$thisの意味がすぐわかると思いますので、

しっかり理解して、$thisを書きましょう!!

 

まとめ

$thisを理解しないでコードを書いていると、やりたいことが結構狭くなってしまいます。

逆にいえば、はじめのころに$thisを理解すると、やりたいことも増えるし、

オブジェクトの良さがわかってきたりすると思います!

 

今回なにげにつかったprivateですが、

メソッドの種類private,protected,publicの違いについては、

また違う記事にて書いていこうと思います!!

 

それではお疲れさまでした~!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です