1,依赖注入可以有效的减少代码之间的耦合性
2,有效分离对象和它所需要的外部资源
class Person
{
/**
* 依赖:Person类依赖obj类
* 注入:Car注入Person
* @param $obj
*/
public function buy($obj)
{
return $obj->pay();
}
}
<?php
namespace di;
class Car
{
public function pay()
{
return 423;
}
}
控制器使用:
<?php
namespace app\controller;
use app\BaseController;
use di\Car;
use di\Person;
class Buy extends BaseController
{
/**
* 依赖注入
*/
public function index()
{
$person = new Person();
$car = new Car();
echo $person->buy($car);die;
}
}