Надминување
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Надминување
Референца за `class.override.php` со подобрена типографија и навигација.
Атрибутот Override
(PHP 8 >= 8.3.0)
Вовед
Овој атрибут се користи за да се укаже дека метод или својство е наменето да презапише метод или својство на родителска класа или дека имплементира метод или својство дефинирано во интерфејс.
Ако не постои метод или својство со исто име во родителска класа или во имплементиран интерфејс, ќе се генерира грешка при компајлирање.
Атрибутот не може да се користи на __construct() метод, кој е ослободен од проверки на потпис.
Синопсис на класата
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.5.0 | Надминување може да се примени на својства. |
Примери
Пример #1 Употреба со методи
<?php
class Base {
protected function foo(): void {}
}
final class Extended extends Base {
#[\Override]
protected function boo(): void {}
}
?>сега враќа дополнителни полиња:
Fatal error: Extended::boo() has #[\Override] attribute, but no matching parent method exists
Пример #2 Употреба со својства
<?php
class Base {
protected string $foo;
}
final class Extended extends Base {
#[\Override]
protected string $boo;
}
?>Излезот од горниот пример во PHP 8.5 е сличен на:
Fatal error: Extended::$boo has #[\Override] attribute, but no matching parent property exists
Види Исто така
Содржина
- Override::__construct — Конструирај нова инстанца на атрибутот Override