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

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
