(PHP 5 >= 5.4.0, PHP 7, PHP 8)
Closure::bind — Belli bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar.
$closure
, object $newthis
, mixed $newscope
= "static"
) : Closure|falseBu yöntem Closure::bindTo() yönteminin statik sürümüdür. Daha fazla bilgi için bu yöntemin belgesine bakınız.
closure
Bağlanacak anonim işlevin adı.
newthis
Anonim işleve bağlaması için verilen nesne ya da
bağın kaldırılması için null
.
newscope
İlişkili closure'un ilişkilendirileceği sınıf bağlamı ya da ilişkili olanı tutmak için 'static'. Bir nesne belirtilirse bu nesnenin sınıfı geçerli olur. Bu, bağlı nesnenin protected ve private yöntemlerinin görünürlüğünü saptamaya yarar. Bu değiştirgede dahili bir sınıfı (nesnesini) aktarmaya izin verilmez.
Yeni bir Closure nesnesi döner başarısızlık durumunda false
döner
Örnek 1 - Closure::bind() örneği
<?php
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";
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
1 2