Enum case as Array key?
オープン
まだ誰も着手していません。
Feature
Status: Requires RFC
Status: Verified
- 主要言語
- C
- スター
- 40.4k
- フォーク
- 8.2k
- 平均マージ
- 2日 13時間
- マージ済み PR(30日)
- 96
説明
Description
Before enum exist, i used constant to define the array key. Now i want to use enum. But i got error when i declare the enum as array key. so i do the workaround like this:
if (!function_exists('_api')) {
/**
* use enum as Array Key.
*
* @param array $values
* @param \App\Enums\Api\ResponseKey $key
* @param mixed $data
* @return array
*/
function _api(?array &$values, ResponseKey $key, $data)
{
if (! is_array($values)) $values = [];
$values[$key->value] = $data;
return $values;
}
}
Then call it like _api($data, ResponseKey::message, "success");
Can this workaround can be implemented as feature for future PHP?
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
ファイルやテストは指定されていません。まず issue の議論を読み、PHP の enum と array-key の動作を確認してから、該当する言語実装と回帰テストを見つけてください。完了とみなすには、合意された言語設計と、意図した enum キーの動作をカバーする実装が必要です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- php
- 領域
- compilers
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 25/100