控制反转:控制权交给了自己的类
依赖注入:依赖另一个类,我没有手动去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();