TGViewer
Сергей Предводителев Сергей Предводителев @sergei_predvoditelev · 1.2K subscribers
Post #33 11K
🌿 Про атрибут Override в PHP 8.3

В PHP предлагается добавить специальный атрибут #[Override], с помощью которого можно будет явно помечать методы, которые переопределяют методы из родительского класса. Например:

class Parent {
protected function run(): void {}
}

class Child extends Parent {
#[\Override]
public function run(): void {}
}

Если в классе Parent убрать метод run(), то будет брошено исключение.

Появление этого атрибута не ломает обратную совместимость, так как его использование опционально и, если его убрать, то метод будет также как и сейчас переопределяться.

Всё идёт к тому, что RFC будет принят (на текущий момент 20 голосов за и 0 против) и мы увидим #[Override] в PHP 8.3.

Несмотря на то, что применение атрибута для переопределяющих методов опционально, мне кажется, что использовать его нужно всегда и, скорей всего, IDE и статические анализаторы будут предлагать это сделать.

При изучении и разработке кода #[Override] позволит сразу понимать, что этот метод переопределяет родительский, и сократит время на выявление ошибок.

Возможно, стоит в будущем (PHP 9 или 10 😎) вообще сделать добавление атрибута #[Override] для переопределяющих методов обязательным. Отсутствие атрибута в этом случае будет гарантировать, что метод ничего не переопределяет.

Но у этой идеи есть и противники. Интересные обсуждения развернулись на reddit и externals.io 👀
  • 👍 20
  • 🤔 2
  • 🤡 2
  • 👎 1
  • 🔥 1
More from @sergei_predvoditelev
  1. Sep 20, 2026🌿 Про хардкорный курс асинхронного PHP Записался на курс по асинхронному PHP, который зап…
  2. Sep 17, 2026🌿 Про автоматическое ревью и слияние PR Егор Бугаенко в 101 выпуске вопросов/ответов расс…
  3. Sep 9, 2026Пыхник’26 — целая неделя PHP! С 28 сентября по 2 октября пройдёт Пыхник’26 — онлайн-конфер…
  4. Aug 31, 2026#инфопузырь ☕️ Инфопузырь #20 (Август 2026) Ещё один короткий выпуск... Думаю, в сентябре…
  5. Aug 27, 2026🌿 Про Ghostty Весной я переехал со стандартного GNOME Terminal на WezTerm. И всё меня уст…
  6. Aug 22, 2026🌿 Про nono В комментариях к посту про локальных агентов упомянули песочницу для агентов n…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →