匿名函数和闭包
真正的匿名函数 在PHP5.3引入的众多功能中, 除了匿名函数还有一个特性值得讲讲: 新引入的__invoke 魔幻方法。 这个魔幻方法被调用的时机是: 当一个对象当做函数调用的时候, 如果对象定义了__invoke魔幻方法则这个函数会被调用, 这和C++中的操作符重载有些类似, 例如可以像下面这样使用 ###魔术方法__invoke <?php class Callme { public function __invoke($phone_num) { echo "Hello: $num"; } } $call = new Callme(); $call(13810688888); // "Hello: 13810688888 ?> #匿名函数的实现 前面介绍了将对象作为函数调用的方法, 聪明的你可能想到在PHP实现匿名函数的方法了,PHP中的匿名函数就的确是通过这种方式实现的。 我们先来验证一下: <?php $func = function() { echo "Hello, anonymous function"; } echo gettype($func); // object echo get_class($func); // Closure ?> 原来匿名函数也只是一个普通的类而已. #闭包的使用 PHP使用闭包(Closure)来实现匿名函数,