依赖注入和控制反转
<h3>依赖注入和控制反转</h3>
<ul>
<li>可以理解为同一个东西,是编程的一种思想,主要目的是减少代码之间的耦合,有效分离对象和它所需的外部资源</li>
</ul>
<h3>目的</h3>
<ul>
<li>依赖注入(Dependency Injection)是控制反转(Inversion of Control)的一种实现方式</li>
</ul>
<h3>依赖注入理解</h3>
<ul>
<li>要实现控制反转,通常的解决方案是将创建被调用者实例的工作交由 IoC 容器来完成,然后在调用者中注入被调用者(通过构造器 / 方法注入实现),
这样我们就实现了调用者与被调用者的解耦,该过程被称为依赖注入</li>
</ul>
<h3>参考网址</h3>
<ul>
<li><a href="https://www.cnblogs.com/phpper/p/6716375.html">https://www.cnblogs.com/phpper/p/6716375.html</a></li>
</ul>
<h2>代码示例</h2>
<pre><code class="language-PHP"><?php
class Person {
/**
* 依赖:Person类依赖于Car类
* 注入:Car类注入到Pseron类中
*/
public function buy($obj) {
return $obj->pay();
}
}
class Car {
public function pay() {
return 50000;
}
}
class Iphone {
public function pay() {
return 6600;
}
}
$Person = new Person();
echo $Person->buy(new Car()) . PHP_EOL;
echo $Person->buy(new Iphone()) . PHP_EOL;
</code></pre>