まず、シングルトン モードの概念を理解する必要があります。
シングルトン パターンは、その名前が示すように、インスタンスが 1 つだけ存在することを意味します。
オブジェクト作成モードとして、シングルトン モードでは、特定のクラスのインスタンスが 1 つだけであることが保証され、それ自体がインスタンス化され、このインスタンスがシステム全体に提供されます。このクラスはシングルトン クラスと呼ばれます。
シングルトン パターンには 3 つの主要なポイントがあります:
まず、クラスはインスタンスを 1 つだけ持つことができます。
次に、このインスタンスを独自に作成する必要があります。
第三に、このインスタンスを独自にシステム全体に提供する必要があります。
PHP シングルトン モードを使用する必要がある理由について説明しましょう?
ほとんどの人は、シングルトン パターンの目的を文字通りの意味で理解し、システム リソースを節約し、繰り返しのインスタンス化を回避し、一種の「家族計画」であると考えています。また、PHP は毎回ページを実行し、すべてのリソースがメモリから消去されます。したがって、PHP のシングルトンは実際には実行されるたびに再インスタンス化する必要があり、この点だけから見ても、PHP のシングルトンは確かに少し残念です。この機能とアプリケーションしかありませんか? 答えは「いいえ」です。見てみましょう。
1. PHP は主にデータベース アプリケーションで使用されるため、オブジェクト指向で開発する場合 (ナンセンス)、シングルトン モードを使用すると大量のデータベース操作を回避できます。新しい操作によって消費されるリソース。
2. システム内の特定の構成情報をグローバルに制御するためにクラスが必要な場合は、zend フレームワークの FrontController 部分にあるシングルトン モードを使用して簡単に実装できます。
3. ページリクエストでは、すべてのコード (データベース操作クラス db など) が 1 つのクラスに集中しているため、クラス内にフックを設定してログを出力し、どこでも var_dump や echo を回避できます。
上記はデータベース操作シングルトンモードです
PHP の変数 (非セッション) の最大スコープは 1 つのリクエストであり、静的変数はリクエストごとに再初期化されます。
シングルトン パターンは、その名前が示すように、インスタンスが 1 つだけ存在することを意味します。シングルトン モードは、オブジェクト作成モードとして、特定のクラスのインスタンスが 1 つだけであることを保証し、自身をインスタンス化してシステム全体にこのインスタンスを提供します。このクラスはシングルトン クラスと呼ばれます。シングルトン パターンの主なポイントは 3 つあります。1 つ目は、クラスがインスタンスを 1 つだけ持つことができること、2 つ目は、このインスタンスを独自に作成する必要があること、3 つ目は、このインスタンスを独自にシステム全体に提供する必要があることです。 PHP シングルトン モードを使用する必要がある理由について説明しましょう。ほとんどの人は、シングルトン パターンの目的を文字通りの意味で理解し、システム リソースを節約し、インスタンス化の繰り返しを回避し、一種の「ファミリー プランニング」であると考えています。しかし、PHP は実行されるたびにページを実行します。したがって、PHP のシングルトンは実行されるたびに実際に再インスタンス化する必要があり、この点だけから見ると、PHP のシングルトンは誰にとっても少し残念です。しかし、シングルトンにはこの機能とアプリケーションしかないのでしょうか? 答えは「いいえ」です。見てみましょう。 1. PHP は主にデータベース アプリケーションで使用されるため、アプリケーション内で大量のデータベース操作が発生します。オブジェクト指向で開発する場合 (ナンセンス)、シングルトン モードを使用すると、大量のデータベース操作を回避できます。新しい操作によって消費されるリソース。 2. システム内で特定の構成情報をグローバルに制御するクラスが必要な場合は、zend Framework の FrontController 部分にあるシングルトン モードを使用して簡単に実装できます。 3. ページリクエストでは、すべてのコード (データベース操作クラス db など) が 1 つのクラスに集中しているため、クラス内にフックを設定し、どこでも var_dump や echo を回避してログを出力できるため、デバッグが簡単です。