phpにおける単一モードの実現
この文書はhttps://www.xstnet.com/article-43.html
要点
設計モードの1つ、単例モード、その名の通り1つのインスタンスしかなく、単例モードを実現するには以下のいくつかの要点を考慮すべきである.はアクティブインスタンス化できない は、オブジェクトインスタンスを取得する方法 を提供する必要がある.はクローンできません いくつかの理由を総合して、
三私一公とは何かプライベートコンストラクタは、外部アクティブインスタンスオブジェクト から保護する.プライベート_cloneメソッド、このオブジェクトのクローンを防止する プライベート静的プロパティ、現在のクラスのインスタンス を格納は、現在のクラスのインスタンス を返す静的メソッドを開示する.
インプリメンテーション
上記の林述をまとめると、コードは以下の通りである.
要点
設計モードの1つ、単例モード、その名の通り1つのインスタンスしかなく、単例モードを実現するには以下のいくつかの要点を考慮すべきである.
の方法を採用して、1つの単例モードを実現します三私一公とは何か
インプリメンテーション
上記の林述をまとめると、コードは以下の通りである.
class SingleDemo {
/**
* @var self
*/
private static $instance;
/**
*
*/
private function __construct()
{
}
/**
* __clone
*/
private function __clone()
{
}
/**
* ,
* @return self
*/
public static function getInstance()
{
if (!self::$instance instanceof self) {
self::$instance = new self();
}
return self::$instance;
}
}
getInstance
メソッドを使用してクラスのインスタンスを取得 $singleDemo = SingleDemo::getInstance();