説明
データベース·サーバーに接続し、特定のデータベース·リンクにElggのデータベースを使用する
共通変数
CONFIG, dblink, DB_QUERY_CACHE, dbcalls;
1 dblinkに値が存在しなければ新規にArray(配列)を作成する
2 dblinknameがreadwriteでなく かつCONFIGのdb[dblinkname]に値がある場合
2.1 db[dblinkname]が配列である場合
2.1.1 配列数を取得する
2.1.2 CONFIG->db[dblinkname][取得した配列数]->dbhost
CONFIG->db[dblinkname][取得した配列数]->dbuser
CONFIG->db[dblinkname][取得した配列数]->dbpass
CONFIG->db[dblinkname][取得した配列数]->dbnameを取得
2.2 db[dblinkname]が配列でない場合
2.2.1 CONFIG->db[dblinkname]->dbhost, dbuser, dbpass, dbnameを取得
3 (dblinknameがreadwriteでなく かつCONFIGのdb[dblinkname]に値がある)でない場合
3.1 $CONFIG->dbhost, dbuser, dbpass, dbnameを取得
4 取得したdbhost, dbuser, dbpass, dbnameでDBに接続する
4.1 エラーが発生した場合elgg_echo()を使用してエラーを発生させる
5 取得したdbhost, dbuser, dbpass, dbnameでdbnameに接続する
5.1 エラーが発生した場合elgg_echo()を使用してエラーを発生させる
※C#で作成する場合は4・5は一つにまとめる
6 db_cache_off変数を作成する
7 CONFIG->db_disable_query_cacheに値がある場合
7.1 db_cache_off = CONFIG->db_disable_query_cache
※現在の時点ではdb_cache_offに何が入るか未確認
8 DB_QUERY_CACHE がFalse かつdb_cache_offもFalseであった場合
8.1 DB_QUERY_CACHEにnew ElggStaticVariableCache(“db_query_cache”)インスタンス作成
※ 初期化されていないグローバルとクエリキャッシュがオフになっていない場合は、
キャッシュを設定します。
--------------------------------------------------------------------
C#での注意点
--------------------------------------------------------------------
・DB接続クラスは共通変数か何かに保存しておく?