單例模式資料庫連接
⑴ 什麼是單例模式
單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含一個被稱為單例的特殊類。
通過單例模式可以保證系統中,應用該模式的類一個類只有一個實例。即一個類只有一個對象實例。
單例模式是設計模式中最簡單的形式之一。這一模式的目的是使得類的一個對象成為系統中的唯一實例。
要實現這一點,可以從客戶端對其進行實例化開始。因此需要用一種只允許生成對象類的唯一實例的機制,「阻止」所有想要生成對象的訪問。
使用工廠方法來限制實例化過程。這個方法應該是靜態方法(類方法),因為讓類的實例去生成另一個唯一實例毫無意義。
(1)單例模式資料庫連接擴展閱讀:
優缺點:
優點
一、實例控制
單例模式會阻止其他對象實例化其自己的單例對象的副本,從而確保所有對象都訪問唯一實例。
二、靈活性
因為類控制了實例化過程,所以類可以靈活更改實例化過程。
缺點
一、開銷
雖然數量很少,但如果每次對象請求引用時都要檢查是否存在類的實例,將仍然需要一些開銷。可以通過使用靜態初始化解決此問題。
二、可能的開發混淆
使用單例對象(尤其在類庫中定義的對象)時,開發人員必須記住自己不能使用new關鍵字實例化對象。因為可能無法訪問庫源代碼,因此應用程序開發人員可能會意外發現自己無法直接實例化此類。
三、對象生存期
不能解決刪除單個對象的問題。在提供內存管理的語言中(例如基於.NET Framework的語言),只有單例類能夠導致實例被取消分配,因為它包含對該實例的私有引用。在某些語言中(如 C++),其他類可以刪除對象實例,但這樣會導致單例類中出現懸浮引用。
參考資料:網路---單例模式
⑵ 單例模式 資料庫 php 怎麼用
搭建好php開發環境,這個就不多講了,能找單例模式的應該有一定的php基礎
2
新建一個database.php文件存放資料庫信息
<?php
$db = array(
'host'=>'localhost',//地址
'user'=>'root',//資料庫用戶名
'password'=>'root',//資料庫密碼
'database'=>'ceshi',//資料庫名
)
?>
3
新建Mysql.class.php編寫資料庫連接類操作類添加需要的屬性和構造方法
構造函數載入資料庫配置文件連接資料庫
<?php
class db {
public $conn;
public static $sql;
public static $instance=null;
private function __construct(){
require_once('database.php');
$this->conn = mysqli_connect($db['host'],$db['user'],$db['password']);
if(!mysqli_select_db($this->conn,$db['database'])){
echo "失敗";
};
mysqli_query($this->conn,'set names utf8');
}
}
?>這樣試試吧如果你對php這類有興趣的話,可以和我一樣在後盾人經常看看教材,自己多看幾遍,慢慢的以後就明白了,希望能幫到你,給個採納吧謝謝