Skip to content

Commit 54c9db6

Browse files
authored
Fix buggy code examples for ReflectionParameter::getAttributes (#4549)
- Fix calls to non-existent `getParameter` method of `ReflectionFunction`. - Add missing `Red` attribute class definition implementing `Color`.
1 parent ec0d693 commit 54c9db6

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

reference/reflection/reflectionparameter/getattributes.xml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ function fruitBasket(
5757
) { }
5858
5959
$reflection = new ReflectionFunction('fruitBasket');
60-
$parameter = $reflection->getParameter('apple');
60+
$parameter = $reflection->getParameters()[0];
6161
$attributes = $parameter->getAttributes();
6262
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
6363
?>
@@ -96,7 +96,7 @@ function fruitBasket(
9696
) { }
9797
9898
$reflection = new ReflectionFunction('fruitBasket');
99-
$parameter = $reflection->getParameter('apple');
99+
$parameter = $reflection->getParameters()[0];
100100
$attributes = $parameter->getAttributes('Fruit');
101101
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
102102
?>
@@ -126,14 +126,18 @@ interface Color {
126126
class Fruit {
127127
}
128128
129+
#[Attribute]
130+
class Red implements Color {
131+
}
132+
129133
function fruitBasket(
130134
#[Fruit]
131135
#[Red]
132136
string $apple
133137
) { }
134138
135139
$reflection = new ReflectionFunction('fruitBasket');
136-
$parameter = $reflection->getParameter('apple');
140+
$parameter = $reflection->getParameters()[0];
137141
$attributes = $parameter->getAttributes('Color', ReflectionAttribute::IS_INSTANCEOF);
138142
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
139143
?>

0 commit comments

Comments
 (0)