a-blog cms PHP API Reference

RepositoryInterface

フォームの永続化(データベースアクセス)を抽象化するコントラクト。

SQL・テーブル/カラム名・シーケンス、生レコード↔ドメインの変換、入力 Field↔保存カラムの変換は実装側に閉じる。

Table of Contents

Methods

delete()  : void
フォーム本体と、それに紐づく投稿ログをまとめて削除する(フォーム集約の削除)
duplicate()  : int
フォームを複製し、新しい form_id を返す
existsCodeInTree()  : bool
指定コードのフォームがツリー/スコープ上に存在するかどうか
existsMailInLog()  : bool
投稿ログに指定の宛先メールが存在するかどうか(照合用の正規表現化は実装側で行う)
findByCodeInTree()  : Field}|null
フォームをコードで取得し、構造化(ドメイン)配列で返す(ブログツリー・グローバルスコープ考慮)
findById()  : Field}|null
フォームをIDで取得し、構造化(ドメイン)配列で返す
findIdByCodeInBlog()  : int|null
対象ブログ内で form_code に一致する form_id を取得する
findRawById()  : array<string, mixed>|null
フォームをIDで取得し、生レコードを返す(エクスポートで原本をそのまま扱うため)
insert()  : int
フォームを新規作成し form_id を返す
optimizeSequence()  : void
form_id シーケンスを最適化する
update()  : void
フォームを更新する(form_id・form_current_serial は維持)

Methods

delete()

フォーム本体と、それに紐づく投稿ログをまとめて削除する(フォーム集約の削除)

public delete(int $formId) : void

form_id は主キーのためブログIDは指定不要。

Parameters
$formId : int

duplicate()

フォームを複製し、新しい form_id を返す

public duplicate(int $sourceFormId, int $blogId, string $codeSuffix, string $nameSuffix) : int
Parameters
$sourceFormId : int
$blogId : int
$codeSuffix : string

form_code に付与するサフィックス(末尾に新ID も付与される)

$nameSuffix : string

form_name に付与するサフィックス

Return values
int

existsCodeInTree()

指定コードのフォームがツリー/スコープ上に存在するかどうか

public existsCodeInTree(string $code, int|null $excludeFormId, string $scope, int $blogId) : bool
Parameters
$code : string
$excludeFormId : int|null

除外する form_id

$scope : string

'local' | 'global'

$blogId : int
Return values
bool

existsMailInLog()

投稿ログに指定の宛先メールが存在するかどうか(照合用の正規表現化は実装側で行う)

public existsMailInLog(int $formId, string $mail, int $blogId) : bool
Parameters
$formId : int
$mail : string
$blogId : int
Return values
bool

findByCodeInTree()

フォームをコードで取得し、構造化(ドメイン)配列で返す(ブログツリー・グローバルスコープ考慮)

public findByCodeInTree(string $code, int $blogId) : Field}|null
Parameters
$code : string
$blogId : int
Return values
Field}|null

findById()

フォームをIDで取得し、構造化(ドメイン)配列で返す

public findById(int $formId) : Field}|null
Parameters
$formId : int
Return values
Field}|null

findIdByCodeInBlog()

対象ブログ内で form_code に一致する form_id を取得する

public findIdByCodeInBlog(string $code, int $blogId) : int|null
Parameters
$code : string
$blogId : int
Return values
int|null

findRawById()

フォームをIDで取得し、生レコードを返す(エクスポートで原本をそのまま扱うため)

public findRawById(int $formId) : array<string, mixed>|null
Parameters
$formId : int
Return values
array<string, mixed>|null

insert()

フォームを新規作成し form_id を返す

public insert(int $blogId, Field|array{code?: string, name?: string, scope?: string, log?: "0"|"1", data?: string} $form) : int

引数 $form は入力 Field(編集画面の保存)または保存属性の連想配列(インポート等)のどちらも受け取れる。 Field の場合の保存カラムへの変換(form_data のシリアライズ含む)は実装側で行う。

Parameters
$blogId : int
$form : Field|array{code?: string, name?: string, scope?: string, log?: "0"|"1", data?: string}
Return values
int

optimizeSequence()

form_id シーケンスを最適化する

public optimizeSequence() : void

update()

フォームを更新する(form_id・form_current_serial は維持)

public update(int $formId, int $blogId, Field|array{code?: string, name?: string, scope?: string, log?: "0"|"1", data?: string} $form) : void

引数 $form は入力 Field または保存属性の連想配列のどちらも受け取れる。 連想配列を渡した場合は、含まれるキーに対応するカラムだけを更新する(部分更新)。 例えば ['data' => $serialized] だけ渡せば form_data のみを上書きし、code/name/scope/log は変更しない。 Field を渡した場合は全カラム(code/name/scope/log/data)を更新する。

Parameters
$formId : int
$blogId : int
$form : Field|array{code?: string, name?: string, scope?: string, log?: "0"|"1", data?: string}

        
On this page

Search results