diff options
| author | Ilija Tovilo <ilija.tovilo@me.com> | 2020-06-10 23:10:18 +0200 |
|---|---|---|
| committer | Ilija Tovilo <ilija.tovilo@me.com> | 2021-03-17 19:08:03 +0100 |
| commit | 269c8dac1d56ee85d71ae94d9b28dd7d8e8de7b7 (patch) | |
| tree | 810ac41b2157ff4e8063f9696f97e1a9d77837c4 /Zend/tests/enum/case-attributes.phpt | |
| parent | a6fc427b8c51015c16541c112a26dd06bd75e99e (diff) | |
| download | php-git-269c8dac1d56ee85d71ae94d9b28dd7d8e8de7b7.tar.gz | |
Implement enums
RFC: https://wiki.php.net/rfc/enumerations
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
Closes GH-6489.
Diffstat (limited to 'Zend/tests/enum/case-attributes.phpt')
| -rw-r--r-- | Zend/tests/enum/case-attributes.phpt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Zend/tests/enum/case-attributes.phpt b/Zend/tests/enum/case-attributes.phpt new file mode 100644 index 0000000000..a5ec8600cd --- /dev/null +++ b/Zend/tests/enum/case-attributes.phpt @@ -0,0 +1,25 @@ +--TEST-- +Enum case attributes +--FILE-- +<?php + +#[Attribute(Attribute::TARGET_CLASS_CONSTANT)] +class EnumCaseAttribute { + public function __construct( + public string $value, + ) {} +} + +enum Foo { + #[EnumCaseAttribute('Bar')] + case Bar; +} + +var_dump((new \ReflectionClassConstant(Foo::class, 'Bar'))->getAttributes(EnumCaseAttribute::class)[0]->newInstance()); + +?> +--EXPECT-- +object(EnumCaseAttribute)#1 (1) { + ["value"]=> + string(3) "Bar" +} |
