如何用最简单的方式解释依赖注入?依赖注入是如何实现解耦的?　第一章:小明和他的手机　从前有个人叫小明　小明有三大爱好,抽烟,喝酒……　咳咳,不好意思,走错片场了。应该是逛知乎、玩王者农药和抢微信红包　我们用一段简单的伪代码,来制造一个这样的小明　class　Ming　extends　Person　{　private　$_name　;　private　$_age　;　function　read　(　)　{　//逛知乎　}　function　play　(　)　{　//玩农药　}　function　grab　(　)　{　//抢红包　}　}　但是,小明作为一个人类,没有办法仅靠自己就能实现以上的功能,他必须依赖一部手机,所以他买了一台iphone6,接下来我们来制造一个iphone6　class　iPhone6　extends　Iphone　{　function　read　(　$user　=　"某人"　)　{　echo　$user　.　"打开了知乎然后编了一个故事　\n"　;　}　function　play　(　$user　=　"某人"　)　{　echo　$user　.　"打开了王者农药并送起了人头　\n"　;　}　function　grab　(　$user　=　"某人"　)　{　echo　$user　.　"开始抢红包却只抢不发　\n"　;　}　}　小明非常珍惜自己的新手机,每天把它牢牢控制在手心里,所以小明变成了这个样子　class　Ming　extends　Person　{　private　$_name　;　private　$_age　;　public　function　__construct　(　)　{　$this　-　>　_name　=　'小明'　;　$this　-　>　_age　=　26　;　}　function　read　省略若干代码　(　new　iPhone6　read　(　$this　-　>　_name　)　;　//逛知乎　}　function　play　省略若干代码　(　new　iPhone6　play　(　$this　-　>　_name　)　;　//玩农药　}　function　grab　省略若干代码　(　new　iPhone6　grab　(　$this　-　>　_name　)　;　//抢红包　}　}　今天是周六,小明不用上班,于是他起床,并依次逛起了知