ThinkPHP依賴注入


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;
   }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM