$that = $this;
$closure = function (...) use ($that) { ... };
上找到:http://css.dzone.com/polls/what-new-feature-php-54的是PHP 5.4倒閉
可能有人請解釋它做什麼?最好用一個例子。
$that = $this;
$closure = function (...) use ($that) { ... };
上找到:http://css.dzone.com/polls/what-new-feature-php-54的是PHP 5.4倒閉
可能有人請解釋它做什麼?最好用一個例子。
這是一個辦法讓從它定義的匿名函數訪問類的方法。但是因爲標題是「php 5.4 closures」,所以你不需要再這樣做,這是5.4中的更新之一,你可以使用$ this(而不必將它傳遞給另一個變量,比如$)。你可以在這裏看到http://php.net/ChangeLog-5.php其中一個變化是「添加了閉包$這個支持」
閉包是一個匿名函數,通常與回調一起使用。例如:
my_function_with_callback('some-parameter', function() {
//Do stuff here
});
重新綁定意味着您可以使用$這在anomymous功能,而不必使用:「使用($ VAR)」,所以當你在一個類是:
class MyClass {
public function myMethod() {
$anon = function() {
//$this still refers to MyClass here
};
}
}
希望這回答你的問題
猜測,它允許函數像對象$ this一樣操作(即有權訪問它的方法和屬性) - php.net文檔是怎麼說的? – halfer 2012-03-07 10:30:43
我相信這是匿名函數:http://il2.php.net/manual/en/functions.anonymous.php – Ynhockey 2012-03-07 10:32:49
你是否特別提問'$ this' /'$ that'或關於匿名函數? – deceze 2012-03-07 10:47:05