まず、別のコンテキストでいくつかのステートメントを実行するためのゲートとして無名関数を考える必要があります。
これは、関数宣言を逆転させるようなものです。
例えば、ここで関数を呼び出す/宣言する伝統的な方法は次のとおりです。匿名関数の場合
// Declare a function .
function foo($parameter)
{
// here we are executing some statements
}
// Calling the function
echo foo();
、私たちはどこかの関数を呼び出している、そしてクライアントに関数を宣言する責任を動かしますユーザー。
たとえば、新しいパッケージを作成しているのであれば、具体的なオブジェクトとしてパッケージを実行したくないため、クライアントのユーザーに宣言して適切なステートメントを実行する権限を与えます彼の必要性どこかと呼ばれる - あなたはapp
オブジェクトに属している$this->app->singleton
メソッドのソースコードを参照した場合、あなたの例では
function foo($parameter, $callback)
{
echo $parameter . "\n";
// here we are calling the function
// leaving the user free to declare it
// to suit his needs
$callback($parameter);
}
// here the declaration of the function
echo foo('Yello!', function ($parameter) {
echo substr($parameter, 0, 3);
});
は、あなたは、多くの場合、
callback
と呼ばれ-which機能を見つけます。