目的
- $thisとselfの違いが説明できなかったので簡単にまとめてみる
$this
とは
-
webで調べたら下記のように記載されていた。
$thisは、自分自身のオブジェクトを指し、インスタンス化した際、クラス内のメンバ変数やメソッドにアクセスする際に使う。
-
また、独習PHPには下記のように記載されていた。
$thisはインスタンスメソッド内でのみ利用できる特別なメソッドで、現在のインスタンスを指します。
self::
とは
-
webで調べたら下記のように記載されていた。
self::は、自クラスを示す。 static変数はインスタンス化せずに使用します。この場合$thisは使用できません。
簡単なまとめ
-
$this
は現在のインスタンスを表している。そのため静的メソッドはそもそもインスタンス化されていないから$this
は使用する事ができない。 -
self::
は静的メソッドや静的プロパティを呼び出すことができる。
$this
とself::
の使い分け
項目 | 内容 |
---|---|
$this | インスタンス化されているメソッドやプロパティを呼び出す時に使用する |
self:: | 静的メソッドや静的プロパティを呼び出す時に使用する |