(PHP 5 >= 5.4.0, PHP 7)
Closure::bind — Belli bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar.
$işlev
, object $yeninesne
[, mixed $yenibağlam
= "static"
] ) : ClosureBu yöntem Closure::bindTo() yönteminin duruk sürümüdür. Daha fazla bilgi için bu yöntemin belgesine bakınız.
işlev
Bağlanacak anonim işlevin adı.
yeninesne
Anonim işleve bağlaması için verilen nesne ya da
bağın kaldırılması için NULL
.
yenibağlam
İ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
Sürüm: | Açıklama |
---|---|
7.0.0 |
yenibağlam ile artık dahili bir sınıf (nesne)
belirtilemiyor, evvelce yapılabiliyordu.
|
Ö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