ホームページ > バックエンド開発 > PHPチュートリアル > PHP デザインパターンのシングルトンパターンに基づくアプリケーション分析_PHP チュートリアル

PHP デザインパターンのシングルトンパターンに基づくアプリケーション分析_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:10:13
オリジナル
851 人が閲覧しました

シングルトン パターン: 簡単に言えば、オブジェクトは 1 つの特定のタスクのみを担当します。

シングルトン クラス:
1. コンストラクターはプライベートとしてマークする必要があります。シングルトン クラスは他のクラスでインスタンス化できませんが、それ自体でのみインスタンス化できます
2. クラスを保存するインスタンスの静的メンバー変数があります
3 . このインスタンスにアクセスするパブリック静的メソッドを用意します。 [getInstance() メソッドは一般的にシングルトン クラスをインスタンス化するために使用され、instanceof 演算子はこのクラスがインスタンス化されたかどうかを検出するために使用できます]
注: オブジェクトがコピーされないようにするには、__clone() メソッドを作成する必要があります。
機能:
1. PHP アプリケーションは主にデータベースに使用されるため、アプリケーション内で大量のデータベース操作が行われるため、シングルトン モードを使用すると、新しい操作によって消費される大量のリソースを回避できます。特定の構成情報をグローバルに制御するためにシステムでクラスが必要な場合は、シングルトン パターンを使用して簡単に実装できます。 ZF の FrontController 部分を参照してください
3. デバッグを容易にするために 1 ページにリクエストの概要を表示します。すべてのコードが 1 つのクラスに集中しているため、クラスにフックを設定してログを出力でき、それによってどこでも var_dump や echo を回避できます。

コードをコピーします コードは次のとおりです:
class DanLi{
//静的メンバー変数
private static $_instance
//プライベート構築メソッド
private function __construct(); {
}
//オブジェクトのクローン作成を禁止します
public function __clone(){
trigger_error('クローンは許可されていません!',E_USER_ERROR)
}
public static function getInstance(){
if(!(self: :$_instance instanceof self )){
self::$_instance = 新しい self;

//エラー: $danli = new DanLi(); $danli_clone = クローン $danli; getInstance(); $danli->test()?>






http://www.bkjia.com/PHPjc/327158.html

www.bkjia.com

tru​​e
http://www.bkjia.com/PHPjc/327158.html技術記事

シングルトン パターン: 簡単に言えば、オブジェクトは特定のタスクのみを担当します。 シングルトン クラス: 1. コンストラクターはプライベートとしてマークする必要があります。シングルトン クラスは他のクラスでインスタンス化できません。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート