<?php class Shop { public function today() { return "不打折"; } public function yesterday() { return "打9折"; } } class Myshop { private $shop = null; public function __construct(Shop $shop) { $this->shop = $shop; } public function message() { return "别人家的商店:".$this->shop->today(); } } $shop = new Shop; $message = new Myshop($shop); echo $message->message();
解除类与类之间高度的耦合性,降低类与类之间的依赖关系
当代码需要变动的时候,使用依赖注入可以减小工作量,减少需要修改的地方