ホームページ >バックエンド開発 >PHPチュートリアル >PHP デザイン パターン - Singleton_PHP チュートリアル

PHP デザイン パターン - Singleton_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:52:49856ブラウズ

シングルトンパターン
シングルトン デザイン パターンは、特定のオブジェクト自体の共有インスタンスへのアクセスを提供することで、そのオブジェクトの作成を 1 回のみに制限するために使用されます。

使用シナリオ
たとえば、データベース インスタンスは通常、シングルトン モードを使用します。
シングルトンパターンはクラスのインスタンス化を減らすことができます
コード: InitPHP フレームワークから取得され、クラスがインスタンス化されているかどうかを最初に検出します。インスタンス化されている場合は、静的変数に既に格納されているオブジェクト インスタンスを使用します。インスタンス化されていない場合は、オブジェクトをインスタンス化して保存します。
[php]
/**
* フレームワークコアの読み込み - フレームワークのすべてのクラスがこの関数を経由する必要があります
※1.シングルトンモード
* 2.Controller、Service、View、Dao、Util、Libraryのクラスファイルをロード可能
* 3. コア機能をロードするフレームワーク
* 使用法: $this->load($class_name, $type)
* @param string $class_name クラス名
* @param string $type カテゴリ
​*/ www.2cto.com
パブリック関数load($class_name, $type) {
$class_path = $this->get_class_path($class_name, $type); $class_name = $this->get_class_name($class_name); If (!file_exists($class_path)) InitPHP::initError('file '. $class_name . '.php が存在しません!'); If (!isset(self::$instance['initphp'][$class_name])) {
require_once($class_path)
If (!class_exists($class_name)) InitPHP::initError('class' . $class_name . ' は存在しません!'); $init_class = 新しい $class_name; self::$instance['initphp'][$class_name] = $init_class; }
self::$instance['initphp'][$class_name] を返します
}
作者: initphp



http://www.bkjia.com/PHPjc/478093.html

www.bkjia.com

tru​​e

技術記事シングルトン デザイン パターンは、特定のオブジェクト自体の共有インスタンスへのアクセスを提供することで、そのオブジェクトの作成を 1 回のみに制限するために使用されます。 データベース インスタンスなどの使用シナリオは、通常、シングルトン モデルに従います...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。