PHP設計模式之單例模式

2021-08-08 02:23:32 字數 769 閱讀 7818

單例模式:  三私一公,四個字很好的概括了其主要構成.

私有的靜態屬性:儲存物件例項

私有的構造方法:防止直接使用new類建立物件使得單例模式失去意義

私有的轉殖方法:阻止使用者轉殖物件例項

公共的單例方法:提供單例的物件

code:

<?php

// php設計模式之單例模式

class instance

private static $_instance;

private function __construct()

public static function get_singleton()

if (!isset(self::$_instance)) {

self::$_instance = new self();

return self::$_instance;

private function __clone()

trigger_error('clone is not allow', e_user_error);

// 測試用的方法

public function test()

echo 'test';

好啦,乙個單例模式就這麼多,裡面的比如self,在類中代表就是這個類,在類中可以使用self::來訪問靜態屬性,還有乙個trigger_error()這個函式,大家可以查

一下手冊就知道是什麼意思了

熟能生巧,大家看一遍可能還不太理解,可以多敲幾遍,就理解了,我就是自己敲了3到4遍掌握的.

PHP設計模式之單例模式

1 單例模式概念 單例模式是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。2 uml靜態模型 3 單...

PHP設計模式之 單例模式

class danli 建立 clone方法防止物件被複製轉殖 public function clone 單例方法,用於訪問例項的公共的靜態方法 public static function getinstance return self instance public function test...

PHP設計模式之 單例模式

單例模式 職責模式 簡單的說,乙個物件 在學習設計模式之前,需要比較了解物件導向思想 只負責乙個特定的任務 單例類 1 建構函式需要標記為 private 訪問控制 防止外部 使用 new操作符建立物件 單例類不能在其他類中例項化,只能被其自身例項化 2 擁有乙個儲存類的例項的靜態成員變數 3 擁有...