# 枚举类 当您需要定义错误码和错误信息时,可能会使用以下方式, ```php 'Server Error', self::PARAMS_INVALID => '参数非法' ]; } $message = ErrorCode::messages[ErrorCode::SERVER_ERROR] ?? '未知错误'; ``` 但这种实现方式并不友好,每当要查询错误码与对应错误信息时,都要在当前 `Class` 中搜索两次,所以框架提供了基于注解的枚举类。 ## 安装 ``` composer require hyperf/constants ``` ## 使用 ### 定义枚举类 通过 `gen:constant` 命令可以快速的生成一个枚举类。 ```bash php bin/hyperf.php gen:constant ErrorCode ``` ```php 该功能仅在 v1.1.13 及往后的版本上可用 要使 [hyperf/constants](https://github.com/hyperf/constants) 组件支持国际化,就必须要安装 [hyperf/translation](https://github.com/hyperf/translation) 组件并配置好语言文件,如下: ``` composer require hyperf/translation ``` 相关配置详见 [国际化](zh-cn/translation.md) ```php 'Params :param is invalid.', ]; use Hyperf\Constants\AbstractConstants; use Hyperf\Constants\Annotation\Constants; #[Constants] class ErrorCode extends AbstractConstants { /** * @Message("params.invalid") */ const PARAMS_INVALID = 1000; } $message = ErrorCode::getMessage(ErrorCode::SERVER_ERROR, ['param' => 'user_id']); ```