從手冊知道,closure::bindto — 複製當前閉包物件,繫結指定的$this物件和類作用域。
建立並返回乙個 匿名函式, 它與當前物件的函式體相同、繫結了同樣變數,但可以繫結不同的物件,也可以繫結新的類作用域。
從我個人理解,和js裡面的call函式有點類似。可以改變閉包物件指定的作用域。
示例1:
<?phpclass a
function
getclosure();}
}$ob1 = new a(1
);$cl = $ob1->getclosure();
echo $cl(),"";
$ob2 = new a(2
);$cl = $cl->bindto($ob2); //
閉包指定作用域在$ob2物件上。
echo $cl()."
"; //
2
示例2:
<?phpheader("content-type:text/html;charset=utf-8");
class
yifang
class
bentian
class
views
;
$closure = $closure->bindto($obj
);
return
$closure
; }
}$view = new
views();
call_user_func($view->render(new
bentian()));
call_user_func($view->render(new yifang()));
分別對應的2個模板
1<?php2//
tpl134
echo '********************==';5
echo
$this->title."";6
echo '武漢江漢區';7
echo '*************************==';
89 ?>
1011
<?php
12//
tpl2
1314
echo '*************************==
';15
echo
$this->title."
";16
echo '屯口經濟開發區
';17
echo '*************************==';
1819 ?>
PHP閉包之bind和bindTo
closure類摘要如下 closure方法說明 closure construct 用於禁止例項化的建構函式 closure bind 複製乙個閉包,繫結指定的 this物件和類作用域。closure bindto 複製當前閉包物件,繫結指定的 this物件和類作用域。乙個例項 複製乙個閉包,繫結...
PHP 匿名函式bind與bindTo方法使用總結
匿名函式,即乙個沒有函式名稱的函式。func function var 在定義乙個匿名函式時實際就是定義了乙個closure類的例項化物件,這個類中有三個final的方法 closure類中的建構函式用於禁止例項化,另外兩個方法bind和bindto closure bind 複製乙個閉包,繫結指定...
php閉包學習
提到閉包就不得不想起匿名函式,也叫閉包函式 closures 貌似php閉包實現主要就是靠它。宣告乙個匿名函式是這樣 func function value func 輸出test 閉包函式當成變數使用 閉包函式當作變數來使用 func 1 function value func 2 functio...