PHP Closure类(闭包)详解
来源:互联网 发布:淘宝上回收黄金靠谱吗 编辑:程序博客网 时间:2024/06/04 18:45
<?phpheader("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($username="") { $this->_username = $username; } function getUserName(){ return $this->_username; }}//从这里开始看$di = new Di();$di->set("zhangsan",function(){ return new User('张三');});$di->set("lisi",function(){ return new User("李四"); });echo $di->get("zhangsan")->getUserName();echo $di->get("lisi")->getUserName();
代码中有一个Di容器用来保存对象实例,然后通过set()方法注册服务,通过get()方法获取服务。
我们看到$di->set()的时候,使用了匿名函数,我们预先注册了zhangsan和lisi两个服务,这两个服务都是User类的实例,在$di->set的时候实际上并没有实例化,而是在$di->get()的时候才执行了匿名函数并将对象返回,这就实现了按需实例化,不用则不实例化,提高效率。
0 0
- PHP Closure类(闭包)详解
- PHP闭包(Closure)使用详解
- PHP Closure类详解
- PHP Closure类详解
- PHP Closure类详解
- php的闭包(Closure)匿名函数用法详解
- PHP闭包(Closure)
- PHP中的Closure闭包
- PHP闭包(Closure)初探
- PHP闭包(Closure)初探
- 谈谈PHP闭包(Closure)的使用
- 谈谈PHP闭包(Closure)的使用
- PHP闭包(Closure)初探
- Javascript闭包(Closure)代码详解
- 详解Java中的闭包(Closure)
- 闭包Closure
- Javascript闭包(Closure)
- Javascript--闭包(closure)
- Python 读取某个目录下所有的文件
- oracle 分割,号
- Monkey测试
- Java Jxl Excel 操作总结6(项目实例三)
- xss
- PHP Closure类(闭包)详解
- EditBox 编辑框
- Array.prototype.slice.call(arguments)
- CarRecorder源码解析二(循环录像分析)
- spring七大模块
- 南宁市二手房铁路公积金贷款流程(三)
- 调用第三方提供的webService服务
- Mongodb学习(2)概念学习——基本内容
- 人就是不断学习,才能称之为人