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