Değer Listeleme

Destekli ya da desteksiz, numaralandırmaların her ikisi de UnitEnum adlı dahili bir arayüzü gerçekler. UnitEnum arayüzü cases() statik yöntemini içerir. cases() yöntemi, bildirim sırasında tanımlanmış tüm kılıfları içeren bir dizi döndürür.

<?php
Deste
::cases();
// Şunları üretir: [Deste::Kupalar, Deste::Karolar, Deste::Sinekler, Deste::Maçalar]
?>

Bir numaralandırmada cases() yöntemini kendiniz tanımlarsanız ölümcül bir hata alırsınız.

add a note

User Contributed Notes 1 note

up
0
theking2 at king dot ma
1 month ago
As ::cases() creates a Iteratable it is possible to use it in a foreach loop. In combination with value backed enum this can result in very compact and very readable code:

<?php
/** Content Security Policy directives */
enum CspDirective: String {
  case Default =
"default-src";
  case
Image = "img-src";
  case
Font = "font-src";
  case
Script = "script-src";
  case
Style = "style-src";
}

/** list all CSP directives */
foreach( CspSource::cases() as $directive ) {
  echo
$directive-> value . PHP_EOL;
}
?>
Which results in:
default-src
img-src
font-src
script-src
style-src
To Top