3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<? define ('Foo', 1); class Foo { public function foo() { return "foo"; } } class Bar { public function foo() { return "foo"; } } $a = [Foo, Bar]; $b = new $a[1]; echo $b->foo();
based on HfmDf
Output for 7.2.0
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Foo has a deprecated constructor in /in/4tRNH on line 5 Warning: Use of undefined constant Bar - assumed 'Bar' (this will throw an Error in a future version of PHP) in /in/4tRNH on line 21 foo
Output for 7.0.0 - 7.1.10
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Foo has a deprecated constructor in /in/4tRNH on line 5 Notice: Use of undefined constant Bar - assumed 'Bar' in /in/4tRNH on line 21 foo
Output for 5.4.2 - 5.6.28
Notice: Use of undefined constant Bar - assumed 'Bar' in /in/4tRNH on line 21 foo
Output for 5.3.18 - 5.3.29
<? define ('Foo', 1); class Foo { public function foo() { return "foo"; } } class Bar { public function foo() { return "foo"; } } $a = [Foo, Bar]; $b = new $a[1]; echo $b->foo();