Help us understand the problem. What is going on with this article?

「$this->」の意味

More than 1 year has passed since last update.

「$this->」は「疑似変数」というもので、そのclass内の関数や変数にアクセスするために使用します。

つまり、$this は、「自分自身のクラスの〜」という意味になります。

例えば以下のようなコードがあると、

Step1.php
class Step1 extends Hoge
{
    public function run()
    {
        $this->logger->debug("ここにきてるか確認");
    }
}

class「Step1」のメソッド、また、継承元であるclass「Hoge」のメソッドにアクセス可能ということ。
(ちなみに、php stormでは元のメソッドの定義先にアクセスしたいとき、[command+クリック]でアクセスできる)

ここで、継承元の、Hoge.phpをみてみると、以下のように書かれている。

Hoge.php
   ........
    /**
     * @var LoggerInterface
     */
    protected $logger;
   ........

このように、自分のクラス内のオブシェクトにアクセスする時に使うものが$this->である。

wjtnk
Ruby,PHP,Go,Docker,AWS
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away