FieldRepository
in package
カスタムフィールドの永続化(取得・保存・削除)を担う。
画像/ファイル型フィールドの物理ファイルの回収は FieldFileGarbageCollector に委譲する。 DELETE → INSERT 完了後に、どこからも参照されなくなったものだけが削除される。
Field ファサードの実体。POST → Field 変換(extract)は FieldExtractor に委譲する (責務は分離しつつ、ファサード利用者からは save/load/delete/extract を単一の窓口で呼べるようにする)。
Table of Contents
Properties
- $cacheField : AdapterInterface
- $extractor : FieldExtractor
- $fileGarbageCollector : FieldFileGarbageCollector
- 物理ファイルの回収担当
Methods
- __construct() : mixed
- delete() : void
- カスタムフィールドの削除
- deleteFieldCache() : mixed
- カスタムフィールドキャッシュの削除
- extract() : Field_Validation
- POSTデータからデータの抜き出し
- extractResult() : ExtractResult
- POSTデータからデータを抜き出し、抽出結果と削除フィールドをまとめて取得する
- flushCache() : mixed
- getDeleteField() : Field
- extract()後の削除フィールドを取得
- load() : Field
- ブログID, カテゴリーID, エントリーID,ユーザーIDの いずれか指定されたカスタムフィールドをFieldオブジェクトで返す
- save() : bool
- カスタムフィールドの保存
Properties
$cacheField
private
AdapterInterface
$cacheField
$extractor
private
FieldExtractor
$extractor
$fileGarbageCollector
物理ファイルの回収担当
private
FieldFileGarbageCollector
$fileGarbageCollector
Methods
__construct()
public
__construct(FieldExtractor $extractor[, FieldFileGarbageCollector|null $fileGarbageCollector = null ]) : mixed
Parameters
- $extractor : FieldExtractor
- $fileGarbageCollector : FieldFileGarbageCollector|null = null
-
省略時はフック発火なしの既定インスタンス
delete()
カスタムフィールドの削除
public
delete("bid"|"uid"|"cid"|"mid"|"eid"|"unit_id" $type, ($type is "unit_id" ? string : int) $id[, int|null $rvid = null ][, int|null $blogId = null ]) : void
Parameters
- $type : "bid"|"uid"|"cid"|"mid"|"eid"|"unit_id"
- $id : ($type is "unit_id" ? string : int)
- $rvid : int|null = null
- $blogId : int|null = null
deleteFieldCache()
カスタムフィールドキャッシュの削除
public
deleteFieldCache("bid"|"uid"|"cid"|"mid"|"eid"|"unit_id" $type, ($type is "unit_id" ? string : int) $id[, int|null $rvid = null ]) : mixed
Parameters
- $type : "bid"|"uid"|"cid"|"mid"|"eid"|"unit_id"
- $id : ($type is "unit_id" ? string : int)
- $rvid : int|null = null
extract()
POSTデータからデータの抜き出し
public
extract([string $scp = 'field' ][, ACMS_Validator|null $V = null ][, Field|null $deleteField = null ]) : Field_Validation
Parameters
- $scp : string = 'field'
- $V : ACMS_Validator|null = null
- $deleteField : Field|null = null
Return values
Field_ValidationextractResult()
POSTデータからデータを抜き出し、抽出結果と削除フィールドをまとめて取得する
public
extractResult([string $scp = 'field' ][, ACMS_Validator|null $V = null ][, Field|null $deleteField = null ]) : ExtractResult
Parameters
- $scp : string = 'field'
- $V : ACMS_Validator|null = null
- $deleteField : Field|null = null
Return values
ExtractResultflushCache()
public
flushCache() : mixed
getDeleteField()
extract()後の削除フィールドを取得
public
getDeleteField() : Field
extractResult() の戻り値から deleteField() を取得してください。
Return values
Fieldload()
ブログID, カテゴリーID, エントリーID,ユーザーIDの いずれか指定されたカスタムフィールドをFieldオブジェクトで返す
public
load([null|int $bid = null ][, null|int $uid = null ][, null|int $cid = null ][, null|int $mid = null ][, null|int $eid = null ][, null|string $unitId = null ][, null|int $rvid = null ][, bool $rewrite = false ]) : Field
Parameters
- $bid : null|int = null
- $uid : null|int = null
- $cid : null|int = null
- $mid : null|int = null
- $eid : null|int = null
- $unitId : null|string = null
- $rvid : null|int = null
- $rewrite : bool = false
Return values
Fieldsave()
カスタムフィールドの保存
public
save("bid"|"uid"|"cid"|"mid"|"eid"|"unit_id" $type, ($type is "unit_id" ? string : int) $id[, Field|null $field = null ][, Field|null $deleteField = null ][, int|null $rvid = null ][, int|null $targetBid = null ]) : bool
Parameters
- $type : "bid"|"uid"|"cid"|"mid"|"eid"|"unit_id"
- $id : ($type is "unit_id" ? string : int)
- $field : Field|null = null
- $deleteField : Field|null = null
- $rvid : int|null = null
- $targetBid : int|null = null
-
保存先ブログ ID。null / 省略時は現在のブログ(BID)