[php: closure] Passing arguments to closures in #php
//refs: http://php.net/manual/ja/functions.anonymous.php
$message = 'hello';
// $message は クロージャスコープになる
$example = function () {
echo $message . 'world!' ;
};
$example(); // $message未定義エラー
// クロージャの引数はCall時に渡されたもの
$example = function ($message) {
echo $message . 'world!' ;
};
$example(); // クロージャの引数ないよエラー
// use() で親スコープの$message を引き継ぐ
// 引き継がれた変数の値は、関数が定義された時点のもの
// 関数が呼ばれた時点のものではない
$example = function () use ($message) {
echo $message;
};
$message = 'world';
$example(); //hello