NaifyDb\Config\DbConfig クラス

DbConfig — 接続先ごとの設定と上書き方針を保持する

反映前の設定を値としてまとめておくためのオブジェクト。 DBへ接続する責務は持たない。登録を反映したいときはNaifyDb::configure()へ渡す。

使用例

use NaifyDb\NaifyDb;
use NaifyDb\Config\DbConfig;
use NaifyDb\Adapter\Sqlite;

NaifyDb::boot();
$config = (new DbConfig())
    ->storeConfig('work', Sqlite::configure()->database(':memory:'));
NaifyDb::configure($config)->apply();

$db = NaifyDb::db('work');

プロパティ

名前型説明
private $configs array apply 待ちの接続設定。key は接続名
private $overrideFlags array 接続名ごとの override 方針。false なら既存名を上書きしない

メソッド

メソッド説明
public reset(): static pending config を空に戻す
bootstrap / test で同じ config object を使い回したい時の明示 reset。
public storeConfig(string $name, ConnectionConfigInterface|array $config, bool $override = true): static 接続設定を pending config として積む
`DbConfigurator` からだけ呼ばれる内部保持面。
object 正規ルートも array 補助ルートもここへ寄せて保持する。
public getConfigs(): array 保持中の pending config 全件を返す
`DbConfigurator::apply()` が最終的に走査する入力面。
保持順をそのまま維持するので、bootstrap で積んだ順序も観測できる。
public getOverrideFlag(string $name): bool 指定接続名の override 方針を返す
未指定時は public API と同じく「上書きする」を既定にする。
public snapshot(): static 現在の pending config を clone で取り出す
`DbConfigurator` は apply までの流れに寄せ、観測用の snapshot は
config 本体の責務としてここへ置く。
public toArray(): array 現在の pending DB 設定を配列として返す
debug dump や API reference で「どの接続名が、どの override 方針で
保持されているか」を観測するための出口。