【发布时间】:2018-02-24 18:46:51
【问题描述】:
PHP 手册对Closure::bind() 的解释很少,而且这个例子也很混乱。
这是网站上的代码示例:
class A {
private static $sfoo = 1;
private $ifoo = 2;
}
$cl1 = static function() {
return A::$sfoo;
};
$cl2 = function() {
return $this->ifoo;
};
$bcl1 = Closure::bind($cl1, null, 'A');
$bcl2 = Closure::bind($cl2, new A(), 'A');
echo $bcl1(), "\n";
echo $bcl2(), "\n";
Closure::bind()的参数是什么?
上面使用了Null,甚至还使用了“new”关键字,这让我更加困惑。
【问题讨论】:
-
检查bindTo()。这里还有一些解释。
bind()只是静态版本