男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

Closure::bindTo

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Closure::bindTo 復制當前閉包對象,綁定指定的$this對象和類(lèi)作用域。

說(shuō)明

public Closure::bindTo(?object $newThis, object|string|null $newScope = "static"): ?Closure

創(chuàng )建并返回一個(gè) 匿名函數, 它與當前對象的函數體相同、綁定了同樣變量,但可以綁定不同的對象,也可以綁定新的類(lèi)作用域。

“綁定的對象”決定了函數體中的 $this 的取值,“類(lèi)作用域”代表一個(gè)類(lèi)型、決定在這個(gè)匿名函數中能夠調用哪些 private 和 protected 的方法。 也就是說(shuō),此時(shí) $this 可以調用的方法,與 newScope 類(lèi)的成員函數是相同的。

靜態(tài)閉包不能有綁定的對象( newThis 參數的值應該設為 null)不過(guò)仍然可以用 bindTo 方法來(lái)改變它們的類(lèi)作用域。

此函數確保對于非靜態(tài)閉包,擁有綁定實(shí)例也意味著(zhù)被限定作用域,反之亦然。 為此,非靜態(tài)閉包給定一個(gè) null 實(shí)例的作用域可以使其變?yōu)殪o態(tài), 非靜態(tài)無(wú)作用域的閉包給定一個(gè)非 null 的實(shí)例作用在一個(gè)非指定類(lèi)。

注意:

如果你只是想要復制一個(gè)匿名函數,可以用 cloning 代替。

參數

newThis

綁定給匿名函數的一個(gè)對象,或者 null 來(lái)取消綁定。

newScope

關(guān)聯(lián)到匿名函數的類(lèi)作用域,或者 'static' 保持當前狀態(tài)。如果是一個(gè)對象,則使用這個(gè)對象的類(lèi)型為新的類(lèi)作用域。 這會(huì )決定綁定的對象的 保護、私有成員 方法的可見(jiàn)性。 不允許內部類(lèi)(的對象)作為參數傳遞。

返回值

返回新創(chuàng )建的 Closure 對象, 或者失敗時(shí)返回 null 。

范例

示例 #1 Closure::bindTo() 實(shí)例

<?php

class {
    function 
__construct($val) {
        
$this->val $val;
    }
    function 
getClosure() {
        
// 返回綁定到此對象和作用域的閉包
        
return function() { return $this->val; };
    }
}

$ob1 = new A(1);
$ob2 = new A(2);

$cl $ob1->getClosure();
echo 
$cl(), "\n";
$cl $cl->bindTo($ob2);
echo 
$cl(), "\n";
?>

以上例程的輸出類(lèi)似于:

1
2

參見(jiàn)

男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站