abstract:<?php //依賴注入練習(xí); class Girl { public function work(){ return '會做飯'; } public function hobby(){ return '愛購物'; } } class Boy { publ
<?php //依賴注入練習(xí); class Girl { public function work(){ return '會做飯'; } public function hobby(){ return '愛購物'; } } class Boy { public function getInfo(){ $girl = new Girl; return '我的女朋友'.$girl->work(); } } $boy = new Boy; echo $boy->getInfo(); echo '<hr>'; //依賴注入:用構(gòu)造方法; // class Boy1 // { // //根據(jù)類Boy,因為類里面最好不要new 類,所以用這個方法代替; // private $girl = null; //容器; // public function __construct(Girl $girl){ // $this->girl = $girl; // } // public function getInfo(){ // return '我的女朋友'.$this->girl->work(); // } // } // $girl = new Girl; // $boy1 = new Boy1($girl); // echo $boy1->getInfo(); // echo '<br>'; // 依賴注入普通方法: class Boy2 { // Girl必須是一個實例; $girl.這個相當(dāng)于參數(shù)傳入;Girl這個對照著類名; public function getInfo(Girl $girl){ //getinfo里面的參數(shù)等于 $girl = new Girl; return '我的女朋友'.$girl->hobby(); } } $like= new Girl; //變量名可以隨時改動 $boy2 = new Boy2; echo $boy2->getInfo($like); //變量名跟隨實例化類的變量; echo '<br>';
依賴注入:在類外部實例化,然后當(dāng)做參數(shù)傳遞到類里面;因為當(dāng)做是變量傳入,所以比較靈活,維護方便;
$girl.這個相當(dāng)于參數(shù)傳入;可以改變;Girl這個對照著類名,不允許隨便改動;
Correcting teacher:天蓬老師Correction time:2019-05-24 13:40:21
Teacher's summary:現(xiàn)在有很多框架,通過依賴注入的特征, 實現(xiàn)類的實例自動化, 非常的實用