summaryrefslogtreecommitdiff
path: root/Zend/tests/enum/implements.phpt
blob: fc90ab2aeff0713ddb4d7b799a64d38f14287acb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
--TEST--
Enum implements
--FILE--
<?php

interface Colorful {
    public function color(): string;
}

enum Suit implements Colorful {
    case Hearts;
    case Diamonds;
    case Clubs;
    case Spades;

    public function color(): string {
        return match ($this) {
            self::Hearts, self::Diamonds => 'Red',
            self::Clubs, self::Spades => 'Black',
        };
    }
}

echo Suit::Hearts->color() . "\n";
echo Suit::Diamonds->color() . "\n";
echo Suit::Clubs->color() . "\n";
echo Suit::Spades->color() . "\n";

?>
--EXPECT--
Red
Red
Black
Black