override
ENTITY
This attribute is used to indicate that a method or a property is intended to override a method or a property of a parent class or that it implements a method or a property defined in an interface.
If no method or property with the same name exists in a parent class or in an implemented interface a compile-time error will be emitted.
The attribute cannot be used on the __construct() method, which is exempt from signature checks.
ENTITY
#[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY)]
final
Override
ENTITY
ENTITY
| ENTITY | ENTITY |
|---|---|
| 8.5.0 | Override can be applied to properties. |
ENTITY
Usage with methods
<?php
class Base {
protected function foo(): void {}
}
final class Extended extends Base {
#[\Override]
protected function boo(): void {}
}
?>
ENTITY
Fatal error: Extended::boo() has #[\Override] attribute, but no matching parent method exists
Usage with properties
<?php
class Base {
protected string $foo;
}
final class Extended extends Base {
#[\Override]
protected string $boo;
}
?>
ENTITY
Fatal error: Extended::$boo has #[\Override] attribute, but no matching parent property exists
ENTITY
Attributes overview
ENTITY
这篇文档对你有帮助吗?
谢谢你的反馈!