# 依赖注入 解决向类中的方法传递对象的问题 (URL只能传递基础类型的值 (字符串、数值),不能传递引用类型的值 )。 比如在 `application/common/Demo.php` 中创建一个公共类 : ```php <?php namespace app\common; class Demo { private $name; public function __construct($name = 'qzy') { $this -> name = $name; } public function setName($name) { $this -> name = $name; } public function getName() { return __METHOD__ . ' : ' . $this -> name; } } ``` 要在控制器 `application/index/Demo` 中引入 : ```php <?php namespace app\index\controller; class Demo { public function getName ($name = 'qzy') { return 'Hello ' . $name; } public function getMethod (\app\common\Demo $demo) { $demo -> setName('xiaoyu'); return $demo -> getName(); // app\common\Demo::getName : xiaoyu } } ``` 在浏览器中输入 `http://www.my-tp5.com/index.php/index/Demo/getMethod` 可以看到结果。 上述代码中,`\app\common\Demo $demo` 就是依赖注入,相当于在方法中创建一个对象 : ```php <?php namespace app\index\controller; class Demo { public function getName ($name = 'qzy') { return 'Hello ' . $name; } public function getMethod () { $demo = new \app\common\Demo; $demo -> setName('xiaoyu'); return $demo -> getName(); // app\common\Demo::getName : xiaoyu } } ```