开源项目 Enum 使用教程
EnumPHP 7.1 enum implementation项目地址:https://gitcode.com/gh_mirrors/enum/Enum
1. 项目的目录结构及介绍
Enum 项目的目录结构如下:
Enum/
├── src/
│ ├── Enum/
│ │ ├── AbstractEnum.php
│ │ ├── Enum.php
│ │ └── Exception/
│ │ ├── InvalidEnumValueException.php
│ │ └── NonBackedEnumException.php
│ └── Example/
│ └── ExampleEnum.php
├── tests/
│ ├── Enum/
│ │ ├── AbstractEnumTest.php
│ │ ├── EnumTest.php
│ │ └── Exception/
│ │ ├── InvalidEnumValueExceptionTest.php
│ │ └── NonBackedEnumExceptionTest.php
│ └── bootstrap.php
├── .gitignore
├── composer.json
├── composer.lock
├── LICENSE
├── README.md
└── phpunit.xml
目录结构介绍
src/Enum/
: 包含 Enum 的核心类和异常类。AbstractEnum.php
: 抽象 Enum 类。Enum.php
: Enum 类。Exception/
: 包含 Enum 相关的异常类。InvalidEnumValueException.php
: 无效 Enum 值异常。NonBackedEnumException.php
: 非 backed Enum 异常。
src/Example/
: 包含示例 Enum 类。ExampleEnum.php
: 示例 Enum 类。
tests/
: 包含测试文件。Enum/
: 包含 Enum 类的测试文件。AbstractEnumTest.php
: 抽象 Enum 类的测试。EnumTest.php
: Enum 类的测试。Exception/
: 包含异常类的测试文件。InvalidEnumValueExceptionTest.php
: 无效 Enum 值异常的测试。NonBackedEnumExceptionTest.php
: 非 backed Enum 异常的测试。
bootstrap.php
: 测试引导文件。
.gitignore
: Git 忽略文件。composer.json
: Composer 配置文件。composer.lock
: Composer 锁定文件。LICENSE
: 项目许可证。README.md
: 项目说明文档。phpunit.xml
: PHPUnit 配置文件。
2. 项目的启动文件介绍
Enum 项目的启动文件是 src/Example/ExampleEnum.php
。这个文件包含了一个示例 Enum 类,展示了如何定义和使用 Enum。
<?php
namespace Example;
use DASPRiD\Enum\AbstractEnum;
final class ExampleEnum extends AbstractEnum
{
public const FOO = 'foo';
public const BAR = 'bar';
public const BAZ = 'baz';
}
启动文件介绍
ExampleEnum
类继承自AbstractEnum
类。- 定义了三个常量
FOO
,BAR
,BAZ
,分别表示 Enum 的三个成员。
3. 项目的配置文件介绍
Enum 项目的配置文件主要是 composer.json
和 phpunit.xml
。
composer.json
composer.json
文件是 Composer 的配置文件,包含了项目的依赖、脚本等信息。
{
"name": "dasprid/enum",
"description": "PHP Enum implementation",
"license": "BSD-2-Clause",
"authors": [
{
"name": "Ben Scholzen",
"email": "mail@dasprids.de"
}
],
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
"phpunit/phpunit": "^7.5 || ^8.0 || ^9.0"
},
"autoload": {
"psr-4": {
"DASPRiD\\Enum\\": "src/Enum/"
}
},
"autoload-dev": {
"psr-4": {
"DASPRiD\\EnumTest\\": "tests/"
}
}
}
phpunit.xml
phpunit.xml
文件是 PHPUnit 的
EnumPHP 7.1 enum implementation项目地址:https://gitcode.com/gh_mirrors/enum/Enum