# 枚舉類 當您需要定義錯誤碼和錯誤信息時,可能會使用以下方式, ```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-hk/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']); ```