Enum case as Array key?
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.1k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
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?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Es werden keine Dateien oder Tests genannt. Beginne damit, die Diskussion zum Issue zu lesen und das Verhalten von PHP-Enums und array-key zu überprüfen, und ermittle anschließend die relevante Sprachimplementierung und die Regressionstests. Als abgeschlossen gilt die Aufgabe, wenn ein abgestimmtes Sprachdesign und eine Implementierung mit Testabdeckung für das vorgesehene Verhalten von Enum-Schlüsseln vorliegen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100