Omdia:2025 年 mini LED 電視出貨量將達到 2500 萬臺
阿新 • • 發佈:2021-08-28
單例模式
先來看一個簡單的單例模式的例子
class Single { static private $instance = null; // 禁止物件繼承或者new 這個物件 private function __construct() { } // 指定一個建立物件的方法,如果物件存在則直接返回 public static function getInstance() { if (!self::$instance) { self::$instance = new self; } return self::$instance; } // 禁止物件克隆 private function __clone() { } }
單例模式確保一個類只有一個例項,只能自己的內部實現例項化,當他人再次例項化時返回第一次例項化的物件。
單例模式解決了一個全域性使用的類頻繁地建立與銷燬。
單例模式的使用場景
-
連線資料庫
class MySql { static private $connect; private function __construct() { } static public function instance() { if (!self::$connect) { self::$connect = mysqli_connect('127.0.0.1', 'root', 'root', 'test', '8889'); } return self::$connect; } private function __clone() { // TODO: Implement __clone() method. } } $mysql1 = MySql::instance(); $mysql2 = MySql::instance(); if ($mysql1 === $mysql2) { echo '是同一個物件'; }
本文來自部落格園,作者:穎小主,轉載請註明原文連結:https://www.cnblogs.com/yingxiaozhu/p/15223006.html