私はphpドキュメントでこの慣行を見てきました:
$foo = function() {
echo 'foo';
}
$foo();
なぜあなたはただの代わりにそれをするのですか:
function foo()
{
echo 'foo';
}
foo();
私はphpドキュメントでこの慣行を見てきました:
$foo = function() {
echo 'foo';
}
$foo();
なぜあなたはただの代わりにそれをするのですか:
function foo()
{
echo 'foo';
}
foo();
それらはいくつかの点で役立ちます。個人的には実際の機能よりも制御しやすいので使っています。
しかしまた、無名関数はこれを行うことができます:
$someVar = "Hello, world!";
$show = function() use ($someVar) {
echo $someVar;
}
$show();
無名関数は、スコープ外から変数を「インポート」できます。最良の部分は、(JavaScript とは異なり) ループで安全に使用できることです。関数で使用する変数のコピーを使用するためです。use (&$someVar)
などの関数にコールバックを渡すためにもよく使用されarray_map
ます。
これは、いくつかの特定のケースで非常に役立ちます。例えば
Server::create('/')
->addGetRoute('test', function(){
return 'Yay!';
})
上記のコード スニペットは、REST ベースのアプリケーションでの単純なルーティングの例です。