annotation/enumeration

Get enum attributes using PHP 8 annotations.

v1.0.0 2025-01-10 07:58 UTC

This package is auto-updated.

Last update: 2025-05-10 08:41:24 UTC


README

Get enum attributes using PHP 8 annotations.

GitHub Tag Total Downloads Packagist Version Packagist PHP Version Support Packagist License

Installation

You can install the package via Composer:

composer require annotation/enumeration
use Annotation\Enumeration\Attributes\Enumeration;

class User
{
    use HasEnumeration;

    #[Enumeration([
        'WAIT' => '待审核',
        'PASSED' => '成功',
        'FAILED' => '失败',
    ])]
    public function status()
    {
        //return $this->getAttributeEnumeration('status');
    }

}
$user = new User();

$user->status();

$user->getAttributeEnumerations();
//[
//    'status' => [
//        'wait' => '待审核',
//        'passed' => '成功',
//        'failed' => '失败',
//    ],
//];

$user->getAttributeEnumeration('status', 'WAIT', '--');
// 待审核

$user->getAttributeEnumeration('status', '', '--');
// --

$user->getEnumeration($user->getAttributeEnumeration('status'), 'PASSED', '--');
// 成功

License

Nacosvel Contracts is made available under the MIT License (MIT). Please see License File for more information.