php設計模式之單例模式

2022-09-11 22:03:32 字數 676 閱讀 4904

<?php

/*** @desc 單例模式

* 目的:防止過多的new物件和clone物件,沒有物件的時候new物件並快取,始終保持都是同乙個物件例項

* 特點:php的單例是程序中的單例,而不像j**a屬於記憶體中的單例

* **/

class single

return self::$ins;

}public function setname($name)

public function getname()

$single1 = single::getins();

$single2 = single::getins();

$single1->setname('hello world!');

$single2->setname('hello php!');

echo $single1->getname();//輸出結果:hello php!

echo $single2->getname();//輸出結果:hello php!

/***

* 分析:輸出的結果都是hello php!

* 採用了單例模式物件$single1與$single2是等價的,因此物件$single1與$single2都在設定類的變數時指向都是一致的,變數值取物件設定的最新的乙個值

* **/

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 擁有...