
# 単独での使用

スタンドアロンモードでは、外部のPHPコードから直接MySQLに接続し、WordPressを読み込まずにRudelのレジストリを調べられます。

次の用途を想定しています。

- サンドボックスの一覧表示
- IDによるサンドボックスの読み込み
- ライフサイクルメタデータ、クローンメタデータ、テーブルプレフィックスの読み取り

次の用途は想定していません。

- サンドボックスの作成
- サンドボックスの破棄
- クリーンアップの実行
- WordPressテーブルのクローン作成
- ライブリクエストのルーティング

スタンドアロンモードでは、`Rudel::create()`、`create_from_git()`、`destroy()`、`cleanup()`、`cleanup_merged()`は、WordPress実行時サービスを必要とするため、`RuntimeException`をスローします。

## 初期化

Composerのオートローダーを読み込み、`Rudel\Connection`を`Rudel::init()`に渡します。

```php
use Rudel\Connection;
use Rudel\Rudel;

require __DIR__ . '/vendor/autoload.php';

Rudel::init(
    new Connection(
        '127.0.0.1',  // host, in DB_HOST format (host, host:port or a socket path)
        'wordpress',  // database
        'root',       // user
        'root',       // password
        'wp_'         // WordPress table prefix
    ),
    [ 'environments_dir' => '/var/www/html/wp-content/rudel-environments' ]
);
```

`Connection`は、Rudelテーブルプレフィックスの上書きと、ドライバー（`auto`、`mysqli`、または`pdo`）の2つの省略可能な引数を追加で受け取ります。ドライバー引数を指定しない場合は、`RUDEL_DB_DRIVER`定数を使用し、次に`auto`を使います。これはWordPress以外では`pdo_mysql`を優先し、利用できない場合は`mysqli`にフォールバックします。

## レコードの読み取り

```php
foreach ( Rudel::all() as $environment ) {
    echo $environment->id . ' ' . $environment->get_table_prefix() . "\n";
}

$environment = Rudel::get( 'alpha-3be7' );
```

スタンドアロンでの読み取りは、WordPressの実行時読み取りと同じリポジトリレイヤーを使います。`Rudel::reset()`はスタンドアロン接続をクリアします。
