[PHP] 控制反转依赖注入的日常使用
2023-02-18 15:46:54 时间
控制反转:控制权交给了自己的类
依赖注入:依赖另一个类,我没有手动去new它
<?php /*我自己要用的类*/ class User { private $name; private $age; public function __construct($name,$age){ $this->name=$name; $this->age=$age; } public static function createResource($conf) { return new self($conf['name'],$conf['age']); } public function says(){ echo $this->name; } } $conf=array( 'name'=>'taoshihan', 'age'=>10 ); /*把这个地方放到一个类里,它就是个容器的概念了*/ /*体现了控制反转,所有的操作都是我自己的类里面进行的处理,不需要在调用的时候处理*/ /*这里也体现了依赖注入,就是我不手动去new对象了,我是在下面的方法中获取的对象*/ $user=call_user_func_array(array('User', "createResource"), array($conf)); $user->says();
相关文章
- 【PuTTY】一个免费的SSH和Telnet客户端
- 【Telnet】Telnet安装与配置
- C#笔记 窗体练习:海康相机SDK二次开发
- OpenCV笔记(9) calcHist绘制直方图
- 将mnist训练的caffemodel生成动态链接库DLL
- OpenCV笔记(6) Bitwise
- OpenCV笔记(5) Rect类
- OpenCV笔记(7) 轮廓
- OpenCV笔记(3) CV::Mat
- C++笔记(10) 智能指针
- C++笔记(3)引用
- 前端开发:6、jQuery类库简介与基本使用
- 前端开发:5、BOM操作、DOM操作、jQuery类库
- 前端开发:3、CSS之边框、盒子模型、浮动、溢出、定位、重叠、display
- 前端开发:2、CSS、表单标签补充说明
- 前端开发:1、概念、HTTP协议、HTML及常用标签
- MySQL数据库:15、视图、触发器、存储过程、函数、流程控制、慢查询优化、索引测试
- MySQL数据库:13、索引
- MySQL数据库:14、事务
- MySQL数据库:12、PyMySQL模块