NaifyDb\Config\DbConfigurator クラス

DbConfigurator — 接続設定を積み、最後にまとめて反映する

NaifyDb::configure()が返す設定窓口。読み込んだだけでは接続の登録は変わらず、 apply()でNaifyDbへ反映する。PDO接続は、登録した接続を初めて取得するときに作られる。

使用例

use NaifyDb\NaifyDb;
use NaifyDb\Adapter\Sqlite;

NaifyDb::boot();
NaifyDb::configure()
    ->loadConfig('work', Sqlite::configure()->database(':memory:'))
    ->apply();

$db = NaifyDb::db('work');
$value = $db->fetchOne('SELECT 1');

プロパティ

名前型説明
private $objectApplier Closure void object 正規ルートを NaifyDb registry へ反映する callback
private $arrayApplier Closure void array 補助ルートを NaifyDb registry へ反映する callback
private $config DbConfig apply 前に積み上げる pending DB 設定

メソッド

メソッド説明
public __construct(Closure $objectApplier, Closure $arrayApplier, ?DbConfig $config): void configurator を初期化する
facade 本体を重くしすぎないため、実際の apply 処理は callback で受け取る。
これにより configurator 自身は「設定を積んで最後に apply する」責務へ絞れる。
public reset(): static pending DB 設定を空へ戻す
bootstrap / test で configurator を作り直さずに再利用したい時の明示 reset。
public getConfig(): DbConfig 現在の pending config 本体を取得する
より低レベルな観測や差し替えが必要な時の出口。
public setConfig(DbConfig $config): static pending config 本体を丸ごと差し替える
public loadConfig(string $name, ConnectionConfigInterface $config, bool $override = true): static 接続設定 object を 1 件 pending として積む
`Mysql::configure()` や `Sqlite::configure()` など、
NaifyDb の正規ルートで作った config object を保持する面。
public loadConfigArray(string $name, array $config, bool $override = true): static 配列ベースの接続設定を 1 件 pending として積む
file 読み込みや legacy 連携のための補助ルート。
public API の正規ルートは `loadConfig()` だが、escape hatch として残す。
public loadConfigFile(string $path, bool $override = true): static 設定ファイルから複数接続を読み込んで pending として積む
file は `return [...]` 形式を前提にし、
各要素は `ConnectionConfigInterface` か配列であることを要求する。
public apply(): void 積み上げた pending DB 設定を NaifyDb registry へ反映する
object 設定と array 設定で適切な callback を呼び分け、
facade 本体の static registry へ最終反映する。