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 方針で 保持されているか」を観測するための出口。 |