# ReflectionClassConstant::getAttributes

(PHP 8)

ReflectionClassConstant::getAttributes — Gets Attributes

### Descripción

public ReflectionClassConstant::getAttributes(?string `$name` = `null`, int `$flags` = 0): array

Returns all attributes declared on this class constant as an array of ReflectionAttribute.

### Parámetros

`name`

  Filter the results to include only ReflectionAttribute instances for attributes matching this class name.

`flags`

  Flags for determining how to filter the results, if `name` is provided.

  Default is `0` which will only return results for attributes that are of the class `name`.

  The only other option available, is to use `ReflectionAttribute::IS_INSTANCEOF`, which will instead use `instanceof` for filtering.

### Valores devueltos

Array of attributes, as a ReflectionAttribute object.

### Ejemplos

Ejemplo #1 Basic usage

`<?php
#[Attribute]
class Fruit {
}
#[Attribute]
class Red {
}
class Basket {
#[Fruit]
#[Red]
public const APPLE = 'apple';
}
$classConstant = new ReflectionClassConstant('Basket', 'APPLE');
$attributes = $classConstant->getAttributes();
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>`

El resultado del ejemplo sería:

    Array
    (
        [0] => Fruit
        [1] => Red
    )

Ejemplo #2 Filtering results by class name

`<?php
#[Attribute]
class Fruit {
}
#[Attribute]
class Red {
}
class Basket {
#[Fruit]
#[Red]
public const APPLE = 'apple';
}
$classConstant = new ReflectionClassConstant('Basket', 'APPLE');
$attributes = $classConstant->getAttributes('Fruit');
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>`

El resultado del ejemplo sería:

    Array
    (
        [0] => Fruit
    )

Ejemplo #3 Filtering results by class name, with inheritance

`<?php
interface Color {
}
#[Attribute]
class Fruit {
}
#[Attribute]
class Red implements Color {
}
class Basket {
#[Fruit]
#[Red]
public const APPLE = 'apple';
}
$classConstant = new ReflectionClassConstant('Basket', 'APPLE');
$attributes = $classConstant->getAttributes('Color', ReflectionAttribute::IS_INSTANCEOF);
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>`

El resultado del ejemplo sería:

    Array
    (
        [0] => Red
    )

### Ver también

- ReflectionClass::getAttributes() - Gets Attributes
- ReflectionFunctionAbstract::getAttributes() - Gets Attributes
- ReflectionParameter::getAttributes() - Gets Attributes
- ReflectionProperty::getAttributes() - Gets Attributes