Closure::bind

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

Açıklama

public static Closure::bind ( Closure $closure , object $newthis , mixed $newscope = "static" ) : Closure|false

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

Değiştirgeler

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.

Dönen Değerler

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

Ö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