case-attributes.phpt 457 B

12345678910111213141516171819202122232425
  1. --TEST--
  2. Enum case attributes
  3. --FILE--
  4. <?php
  5. #[Attribute(Attribute::TARGET_CLASS_CONSTANT)]
  6. class EnumCaseAttribute {
  7. public function __construct(
  8. public string $value,
  9. ) {}
  10. }
  11. enum Foo {
  12. #[EnumCaseAttribute('Bar')]
  13. case Bar;
  14. }
  15. var_dump((new \ReflectionClassConstant(Foo::class, 'Bar'))->getAttributes(EnumCaseAttribute::class)[0]->newInstance());
  16. ?>
  17. --EXPECT--
  18. object(EnumCaseAttribute)#1 (1) {
  19. ["value"]=>
  20. string(3) "Bar"
  21. }