PHP設計模式:單例模式
阿新 • • 發佈:2017-12-25
php singleton 單例模式 應用場景:
在一次http請求中,多個地方使用到了數據庫連接,使用單例可以只需要創建一個連接。
一個龐大的類被多次實例化的時候,會浪費巨大的內存空間。使用單例模式可以使多個對象共享內存中存在類的靜態空間。
代碼示例:
<?php //final防止類被繼承 final class DBHelper{ //初始化實例 含義:$install = new DBHelper()... private static $instance=null; //構造器私有,防止類外部實例化 private function __construct(){ //連接數據庫操作 } //獲取實例 public static function getInstance(){ if(!(self::$instance instanceof self)){ self::$instance=new self; } return self::$instance; } //防止實例被克隆 private function __clone(){ } } ?>
驗證:
$conn1=DBHelper::getInstance(); $conn2=DBHelper::getInstance(); echo $conn1 === $conn2;
PHP設計模式:單例模式