ReflectionParameter::getAttributes
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
ReflectionParameter::getAttributes
Референца за `reflectionparameter.getattributes.php` со подобрена типографија и навигација.
ReflectionParameter::getAttributes
(PHP 8)
ReflectionParameter::getAttributes — Добива атрибути
= NULL
(PHP 8) ReflectionAttribute.
Параметри
name-
Филтрирај ги резултатите за да вклучиш само ReflectionAttribute инстанци за атрибути што одговараат на името на оваа класа.
flags-
Знаменца за одредување како да се филтрираат резултатите, ако
nameе обезбедено.- поминете ги и вредноста и клучот како аргументи до
0што ќе врати само резултати за атрибути што се од класатаname.единствената друга достапна опција е да се користи
ReflectionAttribute::IS_INSTANCEOF, што наместо тоа ќе користиinstanceofза филтрирање.
Вратени вредности
Низа од атрибути, како ReflectionAttribute object.
Примери
Пример #1 Основна употреба
<?php
#[Attribute]
class Fruit {
}
#[Attribute]
class Red {
}
function fruitBasket(
#[Fruit]
#[Red]
string $apple
) { }
$reflection = new ReflectionFunction('fruitBasket');
$parameter = $reflection->getParameters()[0];
$attributes = $parameter->getAttributes();
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Array
(
[0] => Fruit
[1] => Red
)
Пример #2 Филтрирање резултати по име на класа
<?php
#[Attribute]
class Fruit {
}
#[Attribute]
class Red {
}
function fruitBasket(
#[Fruit]
#[Red]
string $apple
) { }
$reflection = new ReflectionFunction('fruitBasket');
$parameter = $reflection->getParameters()[0];
$attributes = $parameter->getAttributes('Fruit');
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Array
(
[0] => Fruit
)
Пример #3 Филтрирање резултати по име на класа, со наследување
<?php
interface Color {
}
#[Attribute]
class Fruit {
}
#[Attribute]
class Red implements Color {
}
function fruitBasket(
#[Fruit]
#[Red]
string $apple
) { }
$reflection = new ReflectionFunction('fruitBasket');
$parameter = $reflection->getParameters()[0];
$attributes = $parameter->getAttributes('Color', ReflectionAttribute::IS_INSTANCEOF);
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Array
(
[0] => Red
)
Види Исто така
- Враќа сите атрибути декларирани на овој класен имот како низа од - Добива атрибути
- ReflectionClass::getAttributes() - Добива атрибути
- ReflectionClassConstant::getAttributes() - Добива атрибути
- Пример #4 Филтрирање на резултатите по име на класа, со наследување - Добива атрибути