a-blog cms PHP API Reference

FieldExtractor
in package

POST データからカスタムフィールド(Field_Validation)を組み立てる。

image/file カスタムフィールドで旧ファイルを消す操作(削除チェック・差し替え)があった場合、 物理削除は即時には行わず Field のメタ情報 'removeOld' に記録する。 実際の物理削除はバリデーション通過後に呼ばれる FieldRepository::saveField() 内で参照チェック (field / field_rev の両テーブルを検索)の上で行う。 よって旧ファイルを残すべきかどうか(新バージョン保存・作業領域のみの保存)は 呼び出し元が判定する必要はなく、参照チェックが自動的に判断する。

Table of Contents

Properties

$deleteField  : Field
extract()後の削除フィールドを一時保存
$Post  : Field
$fileFieldHandler  : FileFieldHandler
$imageFieldHandler  : ImageFieldHandler
$mimeTypeValidator  : MimeTypeValidator
$uploadedFilesNormalizer  : UploadedFilesNormalizer

Methods

__construct()  : mixed
extract()  : Field_Validation
POSTデータからデータの抜き出し
extractResult()  : ExtractResult
POSTデータからデータを抜き出し、抽出結果と削除フィールドをまとめて返す
getDeleteField()  : Field
extract()後の削除フィールドを取得

Properties

$deleteField

extract()後の削除フィールドを一時保存

protected Field $deleteField

Methods

__construct()

public __construct([callable(string): void|null $onMediaCreate = null ]) : mixed
Parameters
$onMediaCreate : callable(string): void|null = null

アップロードされたメディアの生成通知。 image / file の各ハンドラへそのまま渡す(発火の作法はハンドラ側の基底クラスに閉じている)。

extract()

POSTデータからデータの抜き出し

public extract([string $scp = 'field' ][, ACMS_Validator|null $V = null ][, Field|null $deleteField = null ]) : Field_Validation

抽出された Field だけを返す互換メソッド。削除フィールドも併せて必要な場合は extractResult() を使うこと(呼び出し順への依存が無くなる)。

Parameters
$scp : string = 'field'
$V : ACMS_Validator|null = null
$deleteField : Field|null = null
Return values
Field_Validation

extractResult()

POSTデータからデータを抜き出し、抽出結果と削除フィールドをまとめて返す

public extractResult([string $scp = 'field' ][, ACMS_Validator|null $V = null ][, Field|null $deleteField = null ]) : ExtractResult

Why not 子フィールドの再帰も extractResult() で行わない: 再帰呼び出しは $this->deleteField を毎回新しい Field で作り直す(移設前からの挙動)。子の処理は image/file の削除フィールド収集より前に走るため実害は無いが、再帰の戻り値を ExtractResult にすると「どの階層の deleteField が最終結果か」が曖昧になる。 再帰は Field_Validation を返す extract() のまま維持し、最終結果の受け渡しだけを 明示的にする。

Parameters
$scp : string = 'field'
$V : ACMS_Validator|null = null
$deleteField : Field|null = null
Return values
ExtractResult

getDeleteField()

extract()後の削除フィールドを取得

public getDeleteField() : Field

extractResult() の戻り値から deleteField() を取得してください。 本メソッドは「extract() の直後に呼ぶ」という暗黙の順序に依存します。

Return values
Field

        
On this page

Search results