基本閉包繫結

如前所述,閉包只是 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!"