単独での使用
スタンドアロンモードでは、外部の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()はスタンドアロン接続をクリアします。