(PHP 8 >= 8.3.0)
此属性用于表明方法意图重写父类中的方法或实现接口中定义的方法。
如果父类或实现的接口中不存在同名方法,则会引发编译时错误。
<?php
class Base {
protected function foo(): void {}
}
final class Extended extends Base {
#[\Override]
protected function boo(): void {}
}
?>
上述示例在 PHP 8.3 中的输出类似于:
Fatal error: Extended::boo() has #[\Override] attribute, but no matching parent method exists