基本闭包绑定
如前所述,闭包只是 Closure 类的一个实例,可以对它们调用不同的方法。其中一个是 bindTo
,给定一个闭包,它将返回一个绑定到给定对象的新的。例如:
<?php
$myClosure = function() {
echo $this->property;
};
class MyClass
{
public $property;
public function __construct($propertyValue)
{
$this->property = $propertyValue;
}
}
$myInstance = new MyClass('Hello world!');
$myBoundClosure = $myClosure->bindTo($myInstance);
$myBoundClosure(); // Shows "Hello world!"