首頁  >  文章  >  後端開發  >  PHP之單例模式(職責模式)

PHP之單例模式(職責模式)

高洛峰
高洛峰原創
2017-02-09 10:15:271297瀏覽

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

單例類別:

1、建構子需要標記為private(存取控制:防止外部程式碼使用new操作符建立物件),單例類別不能在其他類別中實例化,只能被其自身實例化;

2、擁有一個保存類別的實例的靜態成員變數

3、擁有一個存取這個實例的公共的靜態方法(常用getInstance()方法進行實例化單例類,透過instanceof操作符可以偵測到類別是否已被實例化)

另外,需要建立__clone()方法防止物件被複製(克隆)

trigger_error() 函數建立使用者層級的錯誤訊息。

trigger_error() 函數能結合內建的錯誤處理器所關聯,或者可以使用使用者定義的函數作為新的錯誤處理程序(set_error_handler())。

trigger_error(errormsg,errortype);
參數描述
errormsg必需。規定錯誤訊息。最大長度 1024 位元組。
errortype可選。規定錯誤類型。可能的值:E_USER_ERRORE_USER_WARNINGE_USER_NOTICE(預設)


簡單的說,一個物件(在學習設計模式之前,需要比較了解一個物件導向

1、建構子需要標記為private(存取控制:防止外部程式碼使用new運算元建立物件),單例類別不能在其他類別中實例化,只能被其自身實例化;

2、擁有一個保存類別的實例的靜態成員變數

3、擁有一個存取這個實例的公共的靜態方法(常用getInstance()方法進行實例化單例類,透過instanceof操作符可以偵測到類別是否已經被實例化)

另外,需要建立__clone()方法防止物件被複製(複製)

trigger_error()

函數建立使用者層級的錯誤訊息。

trigger_error()

函數能結合內建的錯誤處理器所關聯,或者可以使用使用者定義的函數作為新的錯誤處理程序(set_error_handler())。

trigger_error(errormsg,errortype);
參數描述errormsgerrortype
必需。規定錯誤訊息。最大長度 1024 位元組。
可選。規定錯誤類型。可能的值:E_USER_ERRORE_USER_WARNINGE_USER_NOTICE(預設)
更多PHP之單例模式(職責模式)相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn