ホームページ  >  記事  >  バックエンド開発  >  PHPシングルトンモードとはどういう意味ですか?

PHPシングルトンモードとはどういう意味ですか?

Guanhui
Guanhuiオリジナル
2020-05-07 17:16:492421ブラウズ

PHPシングルトンモードとはどういう意味ですか?

php シングルトン モードとは何ですか?

クラスにはインスタンスが 1 つだけあり、インスタンス化後にプログラム全体に提供されます。または、プログラム全体の実行中にこのクラスのインスタンスが 1 つだけ存在することを保証し、それにアクセスできるグローバル アクセス ポイントを提供すると理解することもできます。

#php シングルトン モードの例

class Singleton {
    private static $_instance;//保存实例化出来的单例
//构造函数私有化,确保单例类不能通过其它对象 new 出来
    private final function __construct() {}
//定义私有的__clone()方法,这是确保单例类不能被复制或克隆,否则又不是单例了。
    private function __clone() {}
    public static function getInstance() {
//检测类是否被实例化,如果没有实例化,就 new 一下,已经实例化就直接返回。
        if ( ! (self::$_instance instanceof self) ) {
            self::$_instance = new test();
        }
        return self::$_instance;
    }
}

//拿到单例实例,多次调用都是同一个实例
Singleton::getInstance();

利点

1. 提供される達成制御固有のインスタンスへのアクセス。

2. システム メモリにはオブジェクトが 1 つだけあるため、システム リソースを節約できます。頻繁に作成および破棄する必要がある一部のオブジェクトの場合、シングルトン モードは間違いなくシステムのパフォーマンスを向上させることができます。

欠点

1. シングルトン パターンは共通のクラス パターンを破壊し、抽象化層がないため、拡張が非常に困難です。

2. シングルトン モードは、実行時に一意性を維持し、グローバルにアクセスできるようにするために、グローバル変数を汚染します。

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

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