Чем this отличается от self?

Ответ

$this - ссылка на текущий объект (экземпляр класса). Доступен только в нестатическом контексте. self - ссылка на текущий класс. Доступен в статическом и нестатическом контексте.

class Counter {
    private int $count = 0;
    private static int $total = 0;

    public function increment(): void {
        $this->count++;     // свойство объекта
        self::$total++;     // статическое свойство класса
    }

    public static function getTotal(): int {
        // $this не доступен здесь!
        return self::$total;
    }
}
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.