3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php class Person { protected const NAME = 'Serkan'; } class PhpSpec { public function __construct() { $name = 'NAME'; $func = function() use ($name) { return constant(get_class($this) . '::' . $name); }; $closure = $func->bindTo(new Person()); echo $closure(); } } $spe = new PhpSpec();
based on agv6p
Output for 7.1.0 - 7.3.0beta1
Fatal error: Uncaught Error: Cannot access protected const Person::NAME in /in/MPnfp:13 Stack trace: #0 /in/MPnfp(13): constant('Person::NAME') #1 /in/MPnfp(18): PhpSpec->{closure}() #2 /in/MPnfp(22): PhpSpec->__construct() #3 {main} thrown in /in/MPnfp on line 13
Process exited with code 255.
Output for 5.6.0 - 5.6.30, 7.0.0 - 7.0.27
Parse error: syntax error, unexpected 'const' (T_CONST), expecting variable (T_VARIABLE) in /in/MPnfp on line 4
Process exited with code 255.
Output for hhvm-3.22.0
Fatal error: Uncaught Error: syntax error, unexpected T_CONST, expecting T_VARIABLE in /in/MPnfp:-1 Stack trace: #0 {main}
Process exited with code 255.
Output for hhvm-3.18.5 - 3.21.3
Fatal error: Uncaught Error: syntax error, unexpected T_CONST, expecting T_VARIABLE in /in/MPnfp:4 Stack trace: #0 {main}
Process exited with code 255.