agence-adeliom / easy-common-bundle
为 EasyAdmin 提供基本实体特性和枚举助手的工具包
2.0.122
2023-12-08 13:08 UTC
Requires
- php: >=8.0.2
- ext-json: *
- easycorp/easyadmin-bundle: ^3.4 || ^v4.0
- symfony/config: ^5.4 || ^6.0
- symfony/dependency-injection: ^5.4 || ^6.0
- symfony/http-kernel: ^5.4 || ^6.0
- symfony/serializer: ^5.4 || ^6.0
- dev-main
- 3.x-dev
- 2.x-dev
- 2.0.122
- 2.0.121
- 2.0.120
- 2.0.119
- 2.0.118
- 2.0.117
- 2.0.116
- 2.0.115
- 2.0.114
- 2.0.112
- 2.0.111
- 2.0.110
- 2.0.109
- 2.0.108
- 2.0.107
- 2.0.106
- 2.0.105
- 2.0.104
- 2.0.103
- 2.0.102
- 2.0.101
- 2.0.100
- 2.0.99
- 2.0.98
- 2.0.97
- 2.0.96
- 2.0.95
- 2.0.94
- 2.0.93
- 2.0.92
- 2.0.91
- 2.0.90
- 2.0.89
- 2.0.88
- 2.0.87
- 2.0.86
- 2.0.85
- 2.0.84
- 2.0.83
- 2.0.82
- 2.0.81
- 2.0.80
- 2.0.79
- 2.0.78
- 2.0.77
- 2.0.76
- 2.0.75
- 2.0.74
- 2.0.73
- 2.0.72
- 2.0.71
- 2.0.70
- 2.0.69
- 2.0.68
- 2.0.67
- 2.0.66
- 2.0.65
- 2.0.64
- 2.0.63
- 2.0.62
- 2.0.61
- 2.0.60
- 2.0.59
- 2.0.57
- 2.0.56
- 2.0.55
- 2.0.54
- 2.0.53
- 2.0.52
- 2.0.49
- 2.0.48
- 2.0.47
- 2.0.46
- 2.0.45
- 2.0.44
- 2.0.43
- 2.0.42
- 2.0.41
- 2.0.40
- 2.0.39
- 2.0.38
- 2.0.37
- 2.0.36
- 2.0.35
- 2.0.34
- 2.0.33
- 2.0.32
- 2.0.31
- 2.0.30
- 2.0.29
- 2.0.28
- 2.0.27
- 2.0.26
- 2.0.25
- 2.0.24
- 2.0.23
- 2.0.22
- 2.0.19
- 2.0.18
- 2.0.17
- 2.0.16
- 2.0.15
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 1.0.0
- dev-develop
This package is auto-updated.
Last update: 2024-08-29 10:34:45 UTC
README
Easy Common Bundle
为 Easyadmin 提供基本工具。
特性
- PHP 8 (8.1.0 以下) 的枚举 polyfill
- 一些实体特质
版本
安装
使用 composer 安装
composer require agence-adeliom/easy-common-bundle
特质
枚举助手
声明
use Adeliom\EasyCommonBundle\Helper\Enum; /** * Action enum */ final class Action extends Enum { private const VIEW = 'view'; private const EDIT = 'edit'; }
使用
$action = Action::VIEW(); // or with a dynamic key: $action = Action::$key(); // or with a dynamic value: $action = Action::from($value); // or $action = new Action($value);
如你所见,静态方法自动实现以提供对枚举值的快速访问。
与使用类常量相比的一个优点是可以将枚举用作参数类型
function setAction(Action $action) { // ... }
文档
__construct()
构造函数检查值是否存在于枚举中__toString()
你可以echo $myValue
,它将显示枚举值(常量的值)getValue()
返回枚举的当前值getKey()
返回枚举当前值上的键equals()
测试枚举实例是否相等(如果枚举值相等则返回true
,否则返回false
)
静态方法
from()
创建一个 Enum 实例,检查值是否存在于枚举中toArray()
方法返回所有可能的值作为数组(键为常量名称,值为常量值)keys()
返回 Enum 类中所有常量的名称(键)values()
返回 Enum 类中所有 Enum 常量的实例(键为常量名称,值为 Enum 实例)isValid()
检查测试值是否在枚举集中有效isValidKey()
检查测试键是否在枚举集中有效assertValidValue()
断言值在枚举集中有效,否则抛出异常search()
返回搜索值的键
静态方法
final class Action extends Enum { private const VIEW = 'view'; private const EDIT = 'edit'; } // Static method: $action = Action::VIEW(); $action = Action::EDIT();
使用 __callStatic()
实现静态方法辅助器。
如果你关心 IDE 自动完成,你可以自己实现静态方法
final class Action extends Enum { private const VIEW = 'view'; /** * @return Action */ public static function VIEW() { return new Action(self::VIEW); } }
或者你可以使用 phpdoc(例如,在 PhpStorm 中支持此功能)
/** * @method static Action VIEW() * @method static Action EDIT() */ final class Action extends Enum { private const VIEW = 'view'; private const EDIT = 'edit'; }