PHP 8.1.9 Released!

Statik Numaralandırma Yöntemleri

Numaralandırmaların statik yöntemleri de olabilir. Statik yöntemlerin numaralandırmalar üzerinde kullanımının birincil amacı kurucu oluşturmaktır. Örnek:

<?php
enum Boyut
{
    case 
Küçük;
    case 
Normal;
    case 
Büyük;
    public static function 
uzunluğaGöre(int $cm): static
    {
        return 
match(true) {
            
$cm 50 => static::Küçük,
            
$cm 100 => static::Normal,
            default => static::
Büyük,
        };
    }
}
?>

Statik yöntemler public, private veya protected olabilirse de kalıtıma izin verilmediğinden uygulamada private ve protected eşdeğerdir.

add a note

User Contributed Notes 1 note

up
9
niloofarfs
5 months ago
To get all scalar equivalents values of Backed Enum as an array you could define a method in your Enum:

<?php

enum Suit
: string
{
    case
Hearts = 'H';
    case
Diamonds = 'D';
    case
Clubs = 'C';
    case
Spades = 'S';

    public static function
values(): array
    {
       return
array_column(self::cases(), 'value');
    }
}

?>
To Top