php設計模式 1單例模式

2022-04-12 03:58:01 字數 1281 閱讀 6983

之前很長時間之前就學習過設計模式,但是因為在實踐中很少應用,所以忽略了,但現在卻意識到設計模式很重要的,程式設計簡介高效冗餘性**少。

今天開始把前幾天學習的幾個設計模式整理一下,首先當然是單例模式。

單例模式:

簡單的說,乙個物件(在學習設計模式之前,需要比較了解物件導向思想)只負責乙個特定的任務;

單例類:

1、建構函式需要標記為private(訪問控制:防止外部**使用new操作符建立物件),單例類不能在其他類中例項化,只能被其自身例項化;

2、擁有乙個儲存類的例項的靜態成員變數;

3、擁有乙個訪問這個例項的公共的靜態方法(常用getinstance()方法進行例項化單例類,通過instanceof操作符可以檢測到類是否已經被例項化);

4、需要建立__clone()方法防止物件被複製(轉殖);

下面來看一下**實現:

index.php檔案

<?php 

require

'./conn.class.php';

class

singletonconn

public

static

function getcon()

return

self::$instance;

}public

function __tostring()

//阻止使用者複製物件例項

private

function __clone()

}$conn=singletonconn::getcon();

$result=$conn->query('

select * from test');

while ( $row =mysql_fetch_array ( $result , mysql_num ))

?>

conn.php 資料庫連線類

<?php

class

conn

if(mysql_select_db ($db,$this->con))

}public

function __get($name)

public

function query($sql)

else

}public

function close()

/*資料庫報錯處理

*/private function errormsg($message = ''

) else

}}

php設計模式 1單例模式

之前很長時間之前就學習過設計模式,但是因為在實踐中很少應用,所以忽略了,但現在卻意識到設計模式很重要的,程式設計簡介高效冗餘性 少。今天開始把前幾天學習的幾個設計模式整理一下,首先當然是單例模式。單例模式 簡單的說,乙個物件 在學習設計模式之前,需要比較了解物件導向思想 只負責乙個特定的任務 單例類...

php設計模式 單例模式

靜態方法所訪問的屬性也必須是static的。靜態方法呼叫靜態變數使用方式是self 靜態變數名 靜態方法呼叫靜態方法使用方式是self 靜態方法名 類的例項可以訪問靜態方法,但不可以訪問靜態變數 package name subpackage name category name author ad...

PHP設計模式 單例模式

單例模式就是保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。通常我們可以讓乙個全域性變數使得乙個物件被訪問,但是不能防止你例項化多個變數,乙個最好的辦法就是讓類自身負責儲存它的唯一例項,這個類可以保證沒有其它例項可被建立,並且他可以提供乙個訪問該例項的方法。下面提供兩種單例模式的例子 例1 ...