众所周知 Laravel 的文档对于依赖注入只写了如何使用,相信大多数人对于他的实现原理并不太清楚.虽然使用过程中并不需要关心她的原理,但是了解原理让你使用起来更自信.这个帖子就通过一个小 demo 来简述实现原理,demo 如下,该 demo 可直接运行: <?php namespace Database; use ReflectionMethod; class Database { protected $adapter; public function __construct () {} p
先来讲一讲,一个简单的依赖注入例子. 1. 依赖 如果在 Class A 中,有 Class B 的实例,则称 Class A 对 Class B 有一个依赖.例如下面类 Human 中用到一个 Father 对象,我们就说类 Human 对类 Father 有一个依赖. public class Human { ... Father father; ... public Human() { father = new Father(); } } 仔细看这段代码我们会发现存在一些问题:(1). 如