PHP では、データベース アクセスは多くの場合 PDO を通じて管理されます。最初の試行ではグローバル変数を使用してデータベースにアクセスする場合がありますが、これはお勧めできません。シングルトン パターンは代替案として登場しますが、その正当性には疑問が残ります。
シングルトンは単一クラス インスタンスを保証することを目的としていますが、PHP ではメモリ使用量は説得力のある理由ではありません。さらに、特定のオブジェクトは一度しか存在できないという仮定には誤りがあることがよくあります。プログラマーは、言語メカニズムに依存するのではなく、一意性を強制する必要があります。
さらに、単一リクエスト内のインスタンスへのグローバル アクセスは望ましいように見えるかもしれませんが、グローバル スコープへの結合が生じ、単体テストと保守性が妨げられます。依存関係の注入は、複数のクラス間でインスタンスを共有するためのより適切な代替手段です。
シングルトン パターンの発明者である Erich Gamma は、デザイン臭として頻繁に誤用されるため、現在その廃止を主張しています。 。このトピックに関する詳細情報は次のとおりです:
まだわからない場合は、次の図が追加のガイダンスを提供します。
[画像: シングルトン意思決定図。ユーザーが特定のユースケースと好みに基づいてシングルトンを使用するかどうかを決定するのに役立つフローチャート。]
以上がPHP アプリケーションでデータベース シングルトンを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。