91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在PHP中定義依賴注入

發布時間:2021-05-10 17:22:03 來源:億速云 閱讀:130 作者:Leah 欄目:開發技術

本篇文章為大家展示了怎么在PHP中定義依賴注入,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

php是什么語言

php,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似于C語言,現在被很多的網站編程人員廣泛的運用。

一個數據庫連接類:

class Mysql{
 private $host;
 private $prot;
 private $username;
 private $password;
 private $db_name;
 // 構造方法
 public function __construct(){
   $this->host = '127.0.0.1';
   $this->port = 22;
   $this->username = 'root';
   $this->password = '';
   $this->db_name = 'my_db';
 }
 // 連接
 public function connect(){
   return mysqli_connect($this->host,$this->username,$this->password,$this->db_name,$this->port);
 }
}

使用這個類:

$db = new Mysql();
$db->connect();

通常數據庫連接類應該設計為單列,這里先不要搞復雜了。

依賴注入

顯然,數據庫的配置是可以更換的部分,因此我們需要先把它拎出來:

class MysqlConfiguration{
  private $host;
  private $prot;
  private $username;
  private $password;
  private $db_name;
  public function __construct($host,$port,$username,$password,$db_name){
    $this->host = $host;
    $this->port = $port;
    $this->username = $username;
    $this->password = $password;
    $this->db_name = $db_name;
  }
  public function getHost(){
    return $this->host;
  }
  public function getPort(){
    return $this->port();
  }
  public function getUsername(){
    return $this->username;
  }
  public function getPassword(){
    return $this->password;
  }
  public function getDbName(){
    return $this->db_name;
  }
}

然后不可替換的部分這樣:

class Mysql{
 private $configuration;
 public function __construct($config){
   $this->configuration = $config;
 }
 // 連接
 public function connect(){
   return mysqli_connect($this->configuration->getHost(),$this->configuration->getUsername(),$this->configuration->getPassword(),$this->configuration->getDbName(),$this->configuration->getPort());
 }
}

這樣就完成了配置文件和連接邏輯的分離。

使用

$config = new MysqlConfiguration('127.0.0.1','root','password','my_db',22);
// $config是注入Mysql的,這就是所謂的依賴注入
$db = new Mysql($config);
$db->connect();

上述內容就是怎么在PHP中定義依賴注入,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

金塔县| 西城区| 舟山市| 济南市| 公主岭市| 镇安县| 双柏县| 偃师市| 巴东县| 和林格尔县| 临泉县| 蓬溪县| 中宁县| 苏尼特左旗| 溆浦县| 吴旗县| 高雄市| 迁安市| 武义县| 光泽县| 苏州市| 绩溪县| 双城市| 黑龙江省| 云和县| 荣成市| 鄂托克前旗| 黑河市| 大同市| 石屏县| 濮阳县| 怀柔区| 湄潭县| 宁阳县| 仪陇县| 岳西县| 汉源县| 平湖市| 乌鲁木齐市| 永顺县| 包头市|