安装
composer require fangx/php-enum
创建
使用 ./vendor/bin/enum
命令创建一个枚举类.
./vendor/bin/enum FooEnum --enum="1=foo" --enum="b=bar" --path=Enums
该命令默认在 当前目录的 Enums 目录下创建一个 FooEnum.php 文件. 文件内容如下:
<?phpnamespace Enums;use Fangx\Enum\AbstractEnum;class FooEnum extends AbstractEnum{ const FOO = "f", __FOO = "foo"; const BAR = "b", __BAR = "bar";}
使用
枚举类默认继承 \Fangx\Enum\AbstractEnum
. 可以静态调用以下方法:
toArray(Format $format = null, Filter $filter = null)
toJson(Format $format = null, Filter $filter = null)
desc($key, $default = 'Undefined')
获取所有的枚举值
<?phpclass FooEnum extends \Fangx\Enum\AbstractEnum{ const FOO = 'f', __FOO = 'foo'; const BAR = 'b', __BAR = 'bar';}/** * ['f' => 'foo', 'b' => 'bar'] */FooEnum::toArray();
获取枚举值的描述信息
<?phpclass FooEnum extends \Fangx\Enum\AbstractEnum{ const FOO = 'f', __FOO = 'foo'; const BAR = 'b', __BAR = 'bar';}/** * "foo" */FooEnum::desc('f');/** * "bar" */FooEnum::desc(FooEnum::BAR);
使用格式来约束返回值
<?phpclass FooFormat implements \Fangx\Enum\Contracts\Format{ public function parse(\Fangx\Enum\Contracts\Definition $definition): array { return [['key' => $definition->getKey() , 'value' => $definition->getValue()]]; }}class FooEnum extends \Fangx\Enum\AbstractEnum{ const FOO = 'f', __FOO = 'foo'; const BAR = 'b', __BAR = 'bar';}/** * [['key' => 'f', 'value' => 'foo'], ['key' => 'b', 'value' => 'bar'],] */$format = new FooFormat();FooEnum::toArray($format);
通过规则来过来过滤枚举值.
class FooFilter implements \Fangx\Enum\Contracts\Filter{ public function __invoke(\Fangx\Enum\Contracts\Definition $definition) { return $definition->getKey() === 'f'; }}/** * ['f' => 'foo'] */$filter = new FooFilter();FooEnum::toArray(null, $filter);
使用自定义的集合来作为所有的枚举类型, 其他使用方法与 FooEnum
一致.
<?phpclass BarEnum extends \Fangx\Enum\AbstractEnum{ public function all() { return [ new \Fangx\Enum\Definition('f', 'foo'), new \Fangx\Enum\Definition('b', 'bar'), ]; }}
以上是如何统一管理的 PHP Enum?的详细内容。更多信息请关注PHP中文网其他相关文章!

本文比较了酸和基本数据库模型,详细介绍了它们的特征和适当的用例。酸优先确定数据完整性和一致性,适合财务和电子商务应用程序,而基础则侧重于可用性和

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手

本文讨论了使用password_hash和pyspasswify在PHP中使用密码的好处。主要论点是,这些功能通过自动盐,强大的哈希算法和SECH来增强密码保护

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3汉化版
中文版,非常好用

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能