一.依據閉包實現乙個容器
classdipublic
function get($id
) }
class
user
public
function
getusername()
} $di = new
di(); //
在此使用了閉包,所以實際上並不會例項化user類,只有在後面get的時候才會例項化
$di->set('a', function
());
var_dump($di->get('a')->getusername());
classcart
public
function getquantity($product
)
public
function gettotal($tax
) ;
array_walk($this->products, $callback
);
return
round($total, 2);
}} $cart = new
cart();
$cart->add('butter', 1);
$cart->add('milk', 5);
echo
$cart->gettotal(0.05);
classgrid
public
function addcolumn($name, $value
)
public
function
build()
public
function
__tostring()
;array_walk($this->attribute, $call);
return
$str
; }}
$grid = new
grid(
//傳入閉包函式,帶引數
function($grid
) );
echo
$grid;
關聯文章:
**
php含有閉包特殊使用
討論寫法,形式如下,呼叫以閉包為引數的函式 getvalues attrib 含義。以下是乙個獲取 attribs陣列鍵為value的值edward複雜寫法。這種算是自找虐吧。attribs name first name value edward ex function t use attribs...
JS閉包的最簡單例子使用
function foo function bar fn 1000 wait hello,closure 將乙個內部函式 名為 timer 傳遞給 settimeout timer 具有涵蓋 wait 作用域 的閉包,因此還保有對變數 message 的引用。wait 執行 1000 毫秒後,它的內...
php閉包學習
提到閉包就不得不想起匿名函式,也叫閉包函式 closures 貌似php閉包實現主要就是靠它。宣告乙個匿名函式是這樣 func function value func 輸出test 閉包函式當成變數使用 閉包函式當作變數來使用 func 1 function value func 2 functio...