今回は、PHP シングルトン モードの使用例について詳しく説明します。PHP シングルトン モードを使用する際の 注意事項 について、実際のケースを見てみましょう。
この記事の例では、PHP デザイン パターンにおけるシングルトン パターンの原理と実装方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:1. シングルトン モードとは
シングルトン モードは、オブジェクト作成モードとして、特定のクラスのインスタンスが 1 つだけであることを保証し、外部アクセスを提供します。このグローバル インスタンスに。インスタンスのコピーは作成されませんが、シングルトン クラス内に格納されているインスタンスへの参照を返します。2. PHP シングルトン パターンの 3 つの要素
1. クラスの唯一のインスタンスを保存するには、静的メンバー変数が必要です。 2. 外部プログラムがインスタンスのコピーを作成またはコピーできないように、コンストラクターとクローン関数をプライベートとして宣言する必要があります。 3. このインスタンスにアクセスするには、パブリック静的メソッドを提供する必要があります。これにより、一意のインスタンスへの参照が返されます。3. シングルトン モードを使用する理由
シングルトン モードを使用する利点は大きく、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 中国語 Web サイトの他の関連記事を参照してください。