<?php
class Foo
{
public $a = 'b';
public function bar()
{
$fnc = function () {
var_dump(isset($this));
var_dump(isset($this->a));
echo $this->a;
};
$fnc->bindTo(NULL)();
}
}
$foo = new Foo();
$foo->bar();
Warning: Cannot unbind $this of closure using $this in /in/0PD2N on line 14
Fatal error: Uncaught Error: Value of type null is not callable in /in/0PD2N:14
Stack trace:
#0 /in/0PD2N(19): Foo->bar()
#1 {main}
thrown in /in/0PD2N on line 14
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Deprecated: Unbinding $this of closure is deprecated in /in/0PD2N on line 14
bool(false)
Fatal error: Uncaught Error: Using $this when not in object context in /in/0PD2N:10
Stack trace:
#0 /in/0PD2N(14): Foo::{closure}()
#1 /in/0PD2N(19): Foo->bar()
#2 {main}
thrown in /in/0PD2N on line 10
Process exited with code 255.
bool(false)
Fatal error: Uncaught Error: Using $this when not in object context in /in/0PD2N:10
Stack trace:
#0 /in/0PD2N(14): Foo::{closure}()
#1 /in/0PD2N(19): Foo->bar()
#2 {main}
thrown in /in/0PD2N on line 10
Process exited with code 255.
Parse error: syntax error, unexpected '(' in /in/0PD2N on line 14
Process exited with code 255.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Parse error: syntax error, unexpected T_FUNCTION in /in/0PD2N on line 8
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_FUNCTION in /in/0PD2N on line 8
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/0PD2N on line 4
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/0PD2N on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/0PD2N on line 4
Process exited with code 255.