WithItem v1.0.0
Атрибут append/map: withPropertyItem(...) для элементов массива.
Описание: PHP-атрибут для array-свойств. Один дескриптор типа — append (withTagsItem($item)); два — map set (withLabelsItem($key, $value)).
Namespace: Devcraft\Attributes
Target: Attribute::TARGET_PROPERTY
С версии: 1.0.0
См. также:
__construct(string|array ...$types)
Параметры:
$types(string|array ...): один или два дескриптора (строка или список строк / union)
types(): array
Описание: Возвращает список переданных дескрипторов.
Поведение
- Цель — non-nullable
array, non-public, non-static, non-readonly. - Append: один дескриптор →
$array[] = $item. - Map: два дескриптора →
$array[$key] = $value; ключи толькоint/string. - Можно комбинировать с
#[With]на том же свойстве.
#[WithItem('string')]
private array $tags = [];
#[WithItem('string', ['string', 'null'])]
private array $labels = [];