Cannot bind an instance to a static closure¶
Description¶
The Closure::bind()
method gives the scope of execution of a closure. And a static closure uses no scope, so the bind()
method fails.
Example¶
<?php
$closure = static function () { return __METHOD__;};
$closure->bindTo(new Stdclass());
$closure();
?>
Solutions¶
Remove the static option on the closure.
Remove the call to
bind()
.