Closure::bind

(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.

Açıklama

public static Closure::bind ( Closure $işlev , object $yeninesne [, mixed $yenibağlam = "static" ] ) : Closure

Bu yöntem Closure::bindTo() yönteminin duruk sürümüdür. Daha fazla bilgi için bu yöntemin belgesine bakınız.

Değiştirgeler

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.

Dönen Değerler

Yeni bir Closure nesnesi döner başarısızlık durumunda FALSE döner

Sürüm Bilgisi

Sürüm: Açıklama
7.0.0 yenibağlam ile artık dahili bir sınıf (nesne) belirtilemiyor, evvelce yapılabiliyordu.

Örnekler

Örnek 1 - Closure::bind() örneği

<?php
class {
    private static 
$sfoo 1;
    private 
$ifoo 2;
}
$cl1 = static function() {
    return 
A::$sfoo;
};
$cl2 = function() {
    return 
$this->ifoo;
};

$bcl1 Closure::bind($cl1null'A');
$bcl2 Closure::bind($cl2, new A(), 'A');
echo 
$bcl1(), "\n";
echo 
$bcl2(), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1
2

Ayrıca Bakınız