FieldServiceProvider
extends ServiceProvider
in package
Field サービスを DI コンテナに登録する
Container エイリアス:
- field : FieldRepository(Field ファサードの実体。save/load/delete/deleteFieldCache/flushCache)
- field.extractor : FieldExtractor(POST → Field 変換。extract())
- field.file-gc : FieldFileGarbageCollector(参照されなくなった image/file の物理削除)
- field.uploaded-files : UploadedFilesNormalizer($_FILES の形の吸収とアップロードメタの正規化)
- field.image-handler : ImageFieldHandler(image 型のアップロード処理)
- field.file-handler : FileFieldHandler(file 型のアップロード処理)
呼び出し例: Field::save('eid', $entryId, $field); Field::load(eid: $entryId); Field::extract('field');
mediaCreate / mediaDelete フックの発火はこのクラスの private メソッドに閉じ、 FieldExtractor / FieldRepository へはコールバックとして注入する (development-guidelines.md「サービス層」、範例 Services/HtmlPurifier)。
Table of Contents
Methods
- init() : void
- initialize service
- register() : void
- register service
- dispatchMediaCreateHook() : void
- カスタムフィールドの image/file アップロードで新しいファイルが作られたことを通知する。
- dispatchMediaDeleteHook() : void
- カスタムフィールドの image/file ファイルが物理削除されたことを通知する。
Methods
init()
initialize service
public
init() : void
register()
register service
public
register(Container $container) : void
Parameters
- $container : Container
dispatchMediaCreateHook()
カスタムフィールドの image/file アップロードで新しいファイルが作られたことを通知する。
private
dispatchMediaCreateHook(string $path) : void
Hook 無効時(HOOK_ENABLE が未定義 / false)は何もしない。
Parameters
- $path : string
-
作成されたファイルの実パス
dispatchMediaDeleteHook()
カスタムフィールドの image/file ファイルが物理削除されたことを通知する。
private
dispatchMediaDeleteHook(string $path) : void
Parameters
- $path : string
-
削除されたファイルの実パス