petrknap/enum

此包已被弃用且不再维护。未建议替代包。

PHP 枚举类型

资助包维护!
其他

安装: 2

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

语言:Dockerfile

v3.0.1 2023-12-26 19:58 UTC

This package is auto-updated.

Last update: 2023-12-26 20:22:53 UTC


README

什么是 Enum?

在计算机编程中,枚举类型(也称为枚举或枚举,在 R 编程语言中称为因子,在统计学中称为分类变量)是一种数据类型,由一组称为元素、成员、枚举或枚举器的命名值组成。枚举器名称通常是作为语言中的常量行为的标识符。已声明为具有枚举类型的变量可以分配任何枚举器作为值。换句话说,枚举类型具有不同的值,可以比较和分配,但程序员未指定它们在计算机内存中的任何特定具体表示;编译器和解释器可以任意表示它们。-- 枚举类型 - 维基百科,自由的百科全书

为什么使用 Enum 而不是常量?

因为使用枚举比使用常量更安全、更不令人害怕。不相信我?看看这段代码

use PetrKnap\Enum\Readme\MyBoolean;

$isTrue = function (int $myBoolean)
{
    switch($myBoolean) {
        case MyBoolean::MY_TRUE:
            return true;
        case MyBoolean::MY_FALSE:
            return false;
    }
};

var_dump($isTrue(MyBoolean::MY_TRUE));  // true - correct
var_dump($isTrue(MyBoolean::MY_FALSE)); // false - correct
var_dump($isTrue(0));                   // none
var_dump($isTrue(1));                   // true - expected
var_dump($isTrue(2));                   // false
var_dump($isTrue((int) true));          // true - expected
var_dump($isTrue((int) false));         // none

现在用 枚举 代替常量执行相同的代码

use PetrKnap\Enum\Readme\MyBoolean;

$isTrue = function (MyBoolean $myBoolean): bool
{
    switch($myBoolean) {
        case MyBoolean::MyTrue:
            return true;
        case MyBoolean::MyFalse:
            return false;
    }
};

var_dump($isTrue(MyBoolean::MyTrue));  // true - correct
var_dump($isTrue(MyBoolean::MyFalse)); // false - correct

运行 composer require petrknap/enum 来安装。您可以通过 捐赠 来支持此项目。该项目受 LGPL-3.0-or-later 条款 许可。