シングルトン パターンは、一般的に使用されるソフトウェア設計パターンです。 コア構造には、シングルトンと呼ばれる特別なクラスが 1 つだけ含まれています。シングルトン パターンでは、システム内にクラスのインスタンスが 1 つだけ存在することが保証されます。つまり、クラスにはオブジェクト インスタンスが 1 つだけあります。
ヒント: データベース接続はデータベース リソースであるため、データベース接続プールの設計では通常、シングルトン モードが採用されます。データベース ソフトウェア システムでデータベース接続プールを使用するのは、主にデータベース接続の開閉によって生じる効率の損失を節約するためです。この効率の損失は依然として非常に高価であるため、メンテナンスにシングルトン モードを使用すると、この損失を大幅に削減できます。 (推奨される学習: PHP ビデオ チュートリアル )
PHP でシングルトン モードを実装するには、4 つの重要なポイントがあります。
保存されたクラスの静的メンバー変数;
外部プログラムが新しいクラスを使用してシングルトン モードの意味を失うことを防ぐために、コンストラクターとクローン関数はプライベートとして宣言する必要があります;
パブリック静的メソッドを提供する必要がありますこのインスタンスにアクセスする ;
継承を禁止し、親クラスのメソッドのオーバーライドを防ぐには、クラスを定義するときに Final キーワードを使用します。
参照コード:
final class Singleton { //静态变量要设置为私有,防止被修改 private static $instance; //构造函数声明为私有,防止外部程序new类 private function __construct() { } //克隆函数声明为私有,防止克隆对象 private function __clone() { } //提供一个创建唯一实例的接口 public static function getInstance() { if(!(self::$instance instanceof self)) { self::$instance = new self(); } return self::$instance; } } //只能根据getInstance静态方法创建Singleton实例 $ins = Singleton::getInstance()
以上がPHPシングルトンモードの実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。