tp5依賴注入(自動例項化):解決了像類中的方法傳物件的問題
阿新 • • 發佈:2018-12-31
namespace app\index\controller; /* 容器與依賴注入的原理 ----------------------------- 1.任何的url訪問,最終都是定位到控制器,由控制器中某換個具體方法去執行 2.一個控制器對應著一個類,如果這些類需要進行統一管理,怎麼辦? 容器(原生註冊樹)來進行類管理,還可以講類的例項(物件)作為引數,傳遞給類方法,自動觸發依賴注入 依賴注入:講物件型別的資料,以引數的方式穿傳到方法的引數列表中 url訪問:通過GET方式將資料傳到控制器指定的方法中,但是隻能傳字串,數值。。。 */ class Demo1{ // 可以通過字串,數值用GET方式來傳值到類方法中 public function getName($name = 'Peter') { return 'Hello'.$name; } // \app\common\Temp $temp:將會出發依賴注入 public function getMethod(\app\common\Temp $temp) { // \app\common\Temp $temp 等價於 // $temp = new \app\common\Temp; $temp-> setName('value'); return $temp->getName(); } }
namespace app\common; class Temp { private $name; public function __construct($name = 'Peter') { $this->name = $name; } public function setName($name) { $this->name = $name; } public function getName() { // __METHO__返回類的方法名 return '方法是:'.__METHO__.'屬性是:'.$this->name; } }