1--TEST-- 2Typed enum constants (self/static) 3--FILE-- 4<?php 5enum E { 6 public const E CONST1 = E::Foo; 7 public const self CONST2 = E::Foo; 8 public const static CONST3 = E::Foo; 9 public const static|stdClass CONST4 = E::Foo; 10 11 case Foo; 12} 13 14class A { 15 public const E ENUM_CONST = E::Foo; 16 public const E CONST1 = E::CONST1; 17 public const E CONST2 = E::CONST2; 18 public const E CONST3 = E::CONST3; 19 public const E CONST4 = E::CONST4; 20} 21 22var_dump(A::ENUM_CONST); 23var_dump(A::ENUM_CONST); 24var_dump(A::CONST1); 25var_dump(A::CONST1); 26var_dump(A::CONST2); 27var_dump(A::CONST2); 28var_dump(E::CONST3); 29var_dump(E::CONST3); 30var_dump(A::CONST3); 31var_dump(A::CONST3); 32var_dump(E::CONST4); 33var_dump(E::CONST4); 34var_dump(A::CONST4); 35var_dump(A::CONST4); 36 37?> 38--EXPECT-- 39enum(E::Foo) 40enum(E::Foo) 41enum(E::Foo) 42enum(E::Foo) 43enum(E::Foo) 44enum(E::Foo) 45enum(E::Foo) 46enum(E::Foo) 47enum(E::Foo) 48enum(E::Foo) 49enum(E::Foo) 50enum(E::Foo) 51enum(E::Foo) 52enum(E::Foo) 53