所以我正在以一种良好的、最新的、面向对象的方式进行编程。我经常使用 PHP 实现的 OOP 的各个方面,但我想知道什么时候可能需要使用闭包。有没有专家可以阐明何时实施闭包有用?
PHP 将在 5.3 中原生支持闭包。当您想要一个仅用于某些小型特定目的的本地函数时,闭包是很好的选择。这RFC 关闭 http://wiki.php.net/rfc/closures举了一个很好的例子:
function replace_spaces ($text) {
$replacement = function ($matches) {
return str_replace ($matches[1], ' ', ' ').' ';
};
return preg_replace_callback ('/( +) /', $replacement, $text);
}
这可以让您定义replacement
内部局部函数replace_spaces()
,所以它不是:
1)弄乱了全局命名空间
2)让三年后的人们想知道为什么有一个全局定义的函数只在另一个函数中使用
它让事情井井有条。请注意函数本身没有名称,它只是定义并分配为对的引用$replacement
.
但请记住,您必须等待 PHP 5.3 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)