PHP闭包Closure研究
一、闭包概念 接触过JavaScript朋友可能对闭包有所熟悉,因为JS中我们会经常用到闭包函数,非常方便,呐,PHP5.3也开始引入了闭包的特性。要了解闭包,我们先要知道何为匿名函数,也叫闭包函数(closures),PHP的闭包实现主要是由其完成的。 先看一个函数: $func = function(){ }; // 注意:这里带结束符 可以看到,匿名函数没有名字,如果要使用它,需要将其返回给一个变量,匿名函数像其他普通函数一样,也可以传递参数。 // 带参数的匿名函数 $func = function( $param ) { echo $param; }; $func( 'some string' ); 二、闭包的应用 <?php header("Content-Type:text/html;charset=utf-8"); class Di{ private $_factory; public function set($id,$value){ $this->_factory[$id] = $value; } public function get($id){ $value = $this->_factory[$id]; return $value(); } } class User{ private $_username; function __construct(