<?php
class A {
public function foo() {
echo __FUNCTION__;
}
}
class B extends A {
public function getClosure() {
return function() {
parent::foo();
};
}
}
class C {
public function __construct(B $b) {
$b->getClosure()();
}
}
new C(new B);
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
foo
Output for 5.6.38
Parse error: syntax error, unexpected '(' in /in/P1MRc on line 19
Process exited with code 255.