我在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的应用程序中的简单路由的示例。