- Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.29, 8.2.0 - 8.2.24, 8.3.0 - 8.3.12
- array(1) { [0]=> object(ReflectionAttribute)#2 (0) { } } array(1) { [0]=> object(ReflectionAttribute)#1 (0) { } } array(0) { }
<?php
#[\Attribute(\Attribute::TARGET_METHOD)]
class TestAttribute {}
class ParentClass {
#[TestAttribute]
function foo() {
}
}
class ChildclassA extends ParentClass {}
class ChildclassB extends ParentClass {
function foo() {
}
}
$method = new \ReflectionMethod(ParentClass::class, 'foo');
var_dump($method->getAttributes(TestAttribute::class));
$method = new \ReflectionMethod(ChildClassA::class, 'foo');
var_dump($method->getAttributes(TestAttribute::class));
$method = new \ReflectionMethod(ChildClassB::class, 'foo');
var_dump($method->getAttributes(TestAttribute::class));