シングルトンパターン
シングルトン デザイン パターンは、特定のオブジェクト自体の共有インスタンスへのアクセスを提供することで、そのオブジェクトの作成を 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
true