a-blog cms PHP API Reference

Repository
in package
implements RepositoryInterface

フォームの永続化を担う実装。

SQL・テーブル/カラム名・シーケンス操作に加えて、 生レコード→ドメイン配列の変換(toArray)と、入力 Field→保存カラムの変換(toAttributes / form_data のシリアライズ)を private メソッドとして内部に閉じ込める。

Table of Contents

Interfaces

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

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 は維持)
normalizeAttributes()  : array{code?: string, name?: string, scope?: string, log?: "0"|"1", data?: string}
insert / update の引数(Field または保存属性の連想配列)を保存属性へ正規化する
serializeData()  : string
入力 Field から form_data 保存用のシリアライズ文字列を生成する
toArray()  : Field}
フォームの生レコードを構造化(ドメイン)配列へ変換する
toAttributes()  : array{code: string, name: string, scope: string, log: "0"|"1", data: string}
入力 Field を form テーブルの保存属性へ変換する

Methods

delete()

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

public delete(int $formId) : void
Parameters
$formId : int
Tags
inheritDoc

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 に付与するサフィックス

Tags
inheritDoc
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
Tags
inheritDoc
Return values
bool

existsMailInLog()

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

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

findByCodeInTree()

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

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

findById()

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

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

findIdByCodeInBlog()

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

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

findRawById()

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

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

insert()

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

public insert(int $blogId, Field|array<string|int, mixed> $form) : int
Parameters
$blogId : int
$form : Field|array<string|int, mixed>
Tags
inheritDoc
Return values
int

optimizeSequence()

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

public optimizeSequence() : void
Tags
inheritDoc

update()

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

public update(int $formId, int $blogId, Field|array<string|int, mixed> $form) : void
Parameters
$formId : int
$blogId : int
$form : Field|array<string|int, mixed>
Tags
inheritDoc

normalizeAttributes()

insert / update の引数(Field または保存属性の連想配列)を保存属性へ正規化する

private normalizeAttributes(Field|array{code?: string, name?: string, scope?: string, log?: "0"|"1", data?: string} $form) : array{code?: string, name?: string, scope?: string, log?: "0"|"1", data?: string}
Parameters
$form : Field|array{code?: string, name?: string, scope?: string, log?: "0"|"1", data?: string}
Return values
array{code?: string, name?: string, scope?: string, log?: "0"|"1", data?: string}

serializeData()

入力 Field から form_data 保存用のシリアライズ文字列を生成する

private serializeData(Field $form) : string
Parameters
$form : Field
Return values
string

toArray()

フォームの生レコードを構造化(ドメイン)配列へ変換する

private toArray(array<string, mixed> $row) : Field}
Parameters
$row : array<string, mixed>
Return values
Field}

toAttributes()

入力 Field を form テーブルの保存属性へ変換する

private toAttributes(Field $form) : array{code: string, name: string, scope: string, log: "0"|"1", data: string}
Parameters
$form : Field

code/name/scope/log と各フィールド設定を持つ入力

Return values
array{code: string, name: string, scope: string, log: "0"|"1", data: string}

        
On this page

Search results