(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