a-blog cms PHP API Reference

SchemaDefinitions
in package

FinalYes

Schema が参照するスキーマ定義 (yaml をパース済みの array) を運ぶ値オブジェクト。

Schema 本体は「現 DB と定義の差分を扱う」責務だけに集中させ、yaml ソースの違い (本体だけ / 拡張アプリだけ / カスタムディレクトリ) は本クラスの factory に閉じ込める。

使い分け:

  • 既存の本体まわり (CMS 全体のスキーマ) : SchemaDefinitions::fromConfig()
  • 拡張アプリの専有テーブル管理など : SchemaDefinitions::fromYaml($dir)

Table of Contents

Properties

$engine  : array<string|int, mixed>
$index  : array<string|int, mixed>
$rename  : array<string|int, mixed>
$schema  : array<string|int, mixed>

Methods

__construct()  : mixed
fromConfig()  : self
本体 (ablogcms/php/config/schema/) と拡張 (ablogcms/extension/schema/) を Config::getDataBaseSchemaInfo() 経由でマージ済みの状態で読み込む。
fromYaml()  : self
任意のディレクトリから db.{type}.yaml を読み込む (拡張アプリ専用テーブル用)。
loadYamlOrEmpty()  : array<string, mixed>

Properties

Methods

__construct()

public __construct(array<string, mixed> $schema[, array<string, mixed> $index = [] ][, array<string, mixed> $rename = [] ][, array<string, mixed> $engine = [] ]) : mixed
Parameters
$schema : array<string, mixed>

テーブル/カラム定義

$index : array<string, mixed> = []

インデックス定義

$rename : array<string, mixed> = []

リネーム定義

$engine : array<string, mixed> = []

ストレージエンジン定義

fromConfig()

本体 (ablogcms/php/config/schema/) と拡張 (ablogcms/extension/schema/) を Config::getDataBaseSchemaInfo() 経由でマージ済みの状態で読み込む。

public static fromConfig() : self

Schema のコンストラクタでデフォルト動作として使われる。

Return values
self

fromYaml()

任意のディレクトリから db.{type}.yaml を読み込む (拡張アプリ専用テーブル用)。

public static fromYaml(string $dir) : self

指定 dir 配下の以下のファイルを読み、存在しないものは空配列として扱う。

  • db.schema.yaml
  • db.index.yaml
  • db.rename.yaml
  • db.engine.yaml

yaml 内の %{PREFIX} プレースホルダは DB_PREFIX 定数で置換する (本体 yaml と同じ流儀)。

Parameters
$dir : string
Return values
self

loadYamlOrEmpty()

private static loadYamlOrEmpty(string $path) : array<string, mixed>
Parameters
$path : string
Return values
array<string, mixed>

        
On this page

Search results