ホームページ  >  記事  >  バックエンド開発  >  PHPシングルトンモードの詳しい説明とサンプルコード

PHPシングルトンモードの詳しい説明とサンプルコード

怪我咯
怪我咯オリジナル
2017-07-12 14:01:361370ブラウズ

この記事では、PHPシングルトン モードについて紹介します。この記事では、シングルトン モードの概念、シングルトン モードの特徴、シングルトン モードを使用する理由とシナリオ、およびシングルトン モードを必要とするプログラマーが参照できるように説明します。

PHPシングルトンパターンの詳しい説明


シングルトンパターン(シングルトンパターンまたは単一要素パターン)

シングルトンパターンは、特定のクラスのインスタンスが1つだけ存在することを保証し、それ自体をインスタンス化してこのインスタンスを提供しますシステム全体に。

シングルトン パターンは一般的な設計パターンで、コンピューター システムでは、スレッド プール、キャッシュ、ログ オブジェクト、ダイアログ ボックス、プリンター、データベース操作、グラフィック カード ドライバーがシングルトンとして設計されることがよくあります。

シングルトン モードには、lazy スタイル シングルトン、hungry スタイル シングルトン、登録スタイル シングルトンの 3 種類があります。

シングルトンモードには次の 3 つの特徴があります:

1.インスタンスは 1 つだけ存在できます。

2.このインスタンスは自分で作成する必要があります。

3.このインスタンスは他のオブジェクトに提供する必要があります。

それでは、なぜ PHP シングルトン パターンを使用するのでしょうか?

PHP の主要なアプリケーション シナリオの 1 つは、アプリケーションがデータベースを処理するシナリオであり、シングルトンを使用してデータベース ハンドル データベースに接続する の動作が行われます。モードでは、多数の新しい操作を回避できます。新しい操作が行われるたびにシステム リソースとメモリ リソースが消費されるためです。

PHPシングルトンモードの実装

以下は、データベース操作クラスを実装するためのPHPシングルトンモードのフレームワークです

<?php
 class Db{
 const DB_HOST=&#39;localhost&#39;;
 const DB_NAME=&#39;&#39;;
 const DB_USER=&#39;&#39;;
 const DB_PWD=&#39;&#39;;
 private $_db;
 //保存实例的私有静态变量
 private static $_instance;
 //构造函数和克隆函数都声明为私有的
 private function construct(){
 //$this->_db=mysql_connect();
 }
 private function clone(){
 //实现
 }
 //访问实例的公共静态方法
 public static function getInstance(){
 if(!(self::$_instance instanceof self)){
 self::$_instance=new self();
 }
 //或者
 if(self::$_instance===null){
 self::$_instance=new Db();
 }
 return self::$_instance;
 }
 public function fetchAll(){
 //实现
 }
 public function fetchRow(){
 //实现
 }
 }
 //类外部获取实例的引用
 $db=Db::getInstance();
?>

以上がPHPシングルトンモードの詳しい説明とサンプルコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。