この記事では、主に PHP デザイン パターンにおけるシングルトン パターンの原理と実装方法を紹介します。シングルトン パターンの概念、機能、構成を簡単に紹介し、シングルトン パターンの定義と使用に関する関連する操作テクニックを分析します。サンプルの形式での PHP 、必要な友人は参照してください。
この記事のサンプルでは、PHP デザイン パターンのシングルトン パターンの原理と実装方法について説明します。参考までに皆さんと共有してください。詳細は次のとおりです:
1. シングルトン モードとは
オブジェクト作成モードとして、シングルトン モードは次のことを保証します。特定のクラス インスタンスのクラスは 1 つだけあり、このグローバル インスタンスへの外部アクセスを提供します。インスタンスのコピーは作成されませんが、シングルトン クラス内に格納されているインスタンスへの参照を返します。
2. PHP シングルトン モードの 3 つの要素
1. クラスの唯一のインスタンスを保存するには、静的メンバー変数が必要です。
2. 外部プログラムがインスタンスのコピーを作成またはコピーできないように、コンストラクターとクローン関数をプライベートとして宣言する必要があります。
3. このインスタンスにアクセスするには、パブリック静的メソッドを提供する必要があります。これにより、一意のインスタンスへの参照が返されます。
3. シングルトン モードを使用する理由
シングルトン モードを使用するメリットは大きく、データベース操作を例に挙げます。シングルトンモードを採用しない場合、プログラム内で多数のデータベース操作が発生する場合、毎回新しい操作を実行する必要があり、データベース接続が開かれるたびに大量のメモリリソースとシステムリソースを消費します。閉じていると、データベースに大きな影響があり、無駄になります。シングルトン モードを使用すると、インスタンス化する必要があるのは 1 回だけであり、毎回新しい操作を実行する必要がないため、リソースの消費が大幅に削減されます。
4. シングルトン モードの例
ここではデータベース操作を例として取り上げます
<?php /** * 单例模式 **/ class Db { //保存全局实例 private static $instance; //数据库连接句柄 private $db; //数据库连接参数 const HOSTNAME = "127.0.0.1"; const USERNAME = "root"; const PASSWORD = "root"; const DBNAME = "testdb"; //私有化构造函数,防止外界实例化对象 private function __construct() { $this->db = mysqli_connect(self::HOSTNAME,self::USERNAME, self::PASSWORD,self::DBNAME); } //私有化克隆函数,防止外界克隆对象 private function __clone() { } //单例访问统一入口 public static function getInstance() { if(!(self::$instance instanceof self)) { self::$instance = new self(); } return self::$instance; } //数据库查询操作 public function getinfo() { $sql = "select * from testtb"; $res = mysqli_query($this->db,$sql); while($row = mysqli_fetch_array($res)) { echo $row['testcol'] . '<br />'; } mysqli_free_result($res); } } $mysqli = Db::getInstance(); $mysqli->getinfo(); ?>
PHP デザイン パターン プロトタイプ デザイン パターンの原則と使用分析 PHP スキル
laravel SMSで認証コードを送信する実装方法 php example
##PHP acceptMailはメール受信機能を実装します php example
#
以上がPHP設計パターン シングルトンパターンの原理と実装方法の分析 PHPスキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。