D:\wamp64\www\thinkphp5.1\tp5.1\application\index\controller\Demo1.php文件
<?php namespace app\index\controller; /** *容器與依賴注入的原理 * 1.任何的URL訪問,最終都是定位到控制器,由控制器中某個具體的方法去執行 * 2.一個控制器對應着一個類,如果這些類需要進行統一管理,怎么辦? * 容器進行類管理,還可以將類的實例(對象)作為參數,傳遞給類方法,自動觸發依賴注入 * 依賴注入:將對象類型的數據,以參數的方式傳到方法的參數列表 * URL訪問:通過GET方式將數據傳到控制器制定的方法中,但是只能傳字符串數值 * 如連接方式www.tp51.com/index/Demo1/getName/name/likexin * * 如果要傳一個對象?怎么辦 * 依賴注入:解決了向類中的方法傳對象的問題 * 連接方式www.tp51.com/index/Demo1/getMethod */ 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('PHP中文網'); return $temp->getName(); } }
D:\wamp64\www\thinkphp5.1\tp5.1\application\common\Temp.php文件
<?php 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(){ return '方法是:'.__METHOD__.'屬性是:'.$this->name; } }
