class MasterData

マスターデータを扱うクラス.

プルダウン等で使用するマスターデータを扱う. マスターデータは, DB に格納されているが, パフォーマンスを得るため, 初回のみ DBへアクセスし, データを定義したキャッシュファイルを生成する.

マスターデータのテーブルは, 下記のようなカラムが必要がある. 1. キーとなる文字列 2. 表示文字列 3. 表示順 上記カラムのデータ型は特に指定しないが, 1 と 2 は常に string 型となる.

マスターデータがキャッシュされると, key => value 形式の配列として使用できる. マスターデータのキャッシュは, MASTERDATAREALDIR/マスターデータ名.php というファイルが生成される.

Properties

array $columns

Methods

array
getMasterData(string $name, array $columns = array())

マスターデータを取得する.

integer
registMasterData(string $name, string[] $columns, array $masterData, bool $autoCommit = true)

マスターデータをDBに追加する.

integer
updateMasterData(string $name, array $columns, array $masterData, bool $autoCommit = true)

マスターデータを更新する.

integer
insertMasterData($name, $key, $value, $comment, $autoCommit = true)

マスターデータを追加する.

integer
deleteMasterData(string $name, bool $autoCommit = true)

マスターデータを削除する.

boolean|null
clearCache(string $name)

マスターデータのキャッシュを消去する.

bool
createCache($name, $columns = array(), $isDefine = false, $commentColumn = array())

マスターデータのキャッシュを生成する.

array
getDbMasterData(string $name, array $columns = array())

DBからマスターデータを取得する.

array
getDefaultColumnName(array $columns = array())

デフォルトのカラム名の配列を返す.

string
getMasterDataAsDefine(array $masterData, array $comments = array())

マスターデータの配列を定数定義の文字列として出力する.

Details

at line 71
array getMasterData(string $name, array $columns = array())

マスターデータを取得する.

以下の順序でマスターデータを取得する. 1. MASTERDATAREALDIR にマスターデータキャッシュが存在しない場合、 DBからマスターデータを取得して、マスターデータキャッシュを生成する。 2. マスターデータキャッシュを読み込み、変数に格納し返す。

返り値は, key => value 形式の配列である.

Parameters

string $name マスターデータ名
array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順 を表すカラム名を格納した配列

Return Value

array マスターデータ

at line 103
integer registMasterData(string $name, string[] $columns, array $masterData, bool $autoCommit = true)

マスターデータをDBに追加する.

引数 $masterData をマスターデータとしてDBに追加し, キャッシュを生成する. 既存のキャッシュが存在する場合は上書きする. $masterData は key => value 形式の配列である必要がある.

Parameters

string $name マスターデータ名
string[] $columns [0] => キー, [1] => 表示文字列, [2] => 表示順 を表すカラム名を格納した配列
array $masterData マスターデータ
bool $autoCommit トランザクションを自動的に commit する場合 true

Return Value

integer マスターデータの登録数

at line 140
integer updateMasterData(string $name, array $columns, array $masterData, bool $autoCommit = true)

マスターデータを更新する.

引数 $masterData の値でマスターデータを更新する. $masterData は key => value 形式の配列である必要がある.

Parameters

string $name マスターデータ名
array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順 を表すカラム名を格納した配列
array $masterData マスターデータ
bool $autoCommit トランザクションを自動的に commit する場合 true

Return Value

integer マスターデータの更新数

at line 176
integer insertMasterData($name, $key, $value, $comment, $autoCommit = true)

マスターデータを追加する.

引数 $masterData の値でマスターデータを更新する. $masterData は key => value 形式の配列である必要がある.

Parameters

$name
$key
$value
$comment
$autoCommit

Return Value

integer マスターデータの更新数

at line 210
integer deleteMasterData(string $name, bool $autoCommit = true)

マスターデータを削除する.

引数 $name のマスターデータを削除し, キャッシュも削除する.

Parameters

string $name マスターデータ名
bool $autoCommit トランザクションを自動的に commit する場合 true

Return Value

integer マスターデータの削除数

at line 235
boolean|null clearCache(string $name)

マスターデータのキャッシュを消去する.

Parameters

string $name マスターデータ名

Return Value

boolean|null 消去した場合 true

at line 262
bool createCache($name, $columns = array(), $isDefine = false, $commentColumn = array())

マスターデータのキャッシュを生成する.

引数 $name のマスターデータキャッシュを生成する. 既存のキャッシュが存在する場合は上書きする.

引数 $isDefine が true の場合は, 定数を生成する. 定数コメントを生成する場合は, $commentColumn を指定する.

Parameters

$name
$columns
$isDefine
$commentColumn

Return Value

bool キャッシュの生成に成功した場合 true

at line 315
array getDbMasterData(string $name, array $columns = array())

DBからマスターデータを取得する.

キャッシュの有無に関係なく, DBからマスターデータを検索し, 取得する.

返り値は, key => value 形式の配列である.

Parameters

string $name マスターデータ名
array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順 を表すカラム名を格納した配列

Return Value

array マスターデータ

at line 345
array getDefaultColumnName(array $columns = array())

デフォルトのカラム名の配列を返す.

引数 $columns が空の場合, デフォルトのカラム名の配列を返す. 空でない場合は, 引数の値をそのまま返す.

Parameters

array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順 を表すカラム名を格納した配列

Return Value

array カラム名を格納した配列

at line 362
string getMasterDataAsDefine(array $masterData, array $comments = array())

マスターデータの配列を定数定義の文字列として出力する.

Parameters

array $masterData マスターデータの配列
array $comments コメントの配列

Return Value

string 定数定義の文字列