1--TEST-- 2Typed class constants (declaration; runtime) 3--FILE-- 4<?php 5class A { 6 public const object CONST1 = C; 7 public const ?object CONST2 = C; 8 public const B|stdClass CONST3 = C; 9 public const B&Stringable CONST4 = C; 10 public const (B&Stringable)|null CONST5 = C; 11} 12 13class B implements Stringable { 14 public function __toString() { 15 return ""; 16 } 17} 18 19const C = new B(); 20 21var_dump(A::CONST1); 22var_dump(A::CONST1); 23var_dump(A::CONST2); 24var_dump(A::CONST2); 25var_dump(A::CONST3); 26var_dump(A::CONST3); 27var_dump(A::CONST4); 28var_dump(A::CONST4); 29var_dump(A::CONST5); 30var_dump(A::CONST5); 31?> 32--EXPECTF-- 33object(B)#%d (%d) { 34} 35object(B)#%d (%d) { 36} 37object(B)#%d (%d) { 38} 39object(B)#%d (%d) { 40} 41object(B)#%d (%d) { 42} 43object(B)#%d (%d) { 44} 45object(B)#%d (%d) { 46} 47object(B)#%d (%d) { 48} 49object(B)#%d (%d) { 50} 51object(B)#%d (%d) { 52} 53