Lewati ke konten

Penggunaan Mandiri

Mode mandiri memungkinkan kode PHP eksternal memeriksa registri Rudel melalui koneksi MySQL langsung, tanpa memuat WordPress.

Mode ini ditujukan untuk:

  • melihat daftar sandbox
  • memuat satu sandbox berdasarkan ID
  • membaca metadata siklus hidup, metadata clone, dan prefix tabel

Mode ini tidak ditujukan untuk:

  • membuat sandbox
  • menghancurkan sandbox
  • menjalankan pembersihan
  • mengklon tabel WordPress
  • merutekan permintaan langsung

Rudel::create(), create_from_git(), destroy(), cleanup(), dan cleanup_merged() melempar RuntimeException dalam mode mandiri karena memerlukan layanan runtime WordPress.

Inisialisasi

Muat autoloader milik Composer, lalu berikan Rudel\Connection ke 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 menerima dua argumen opsional tambahan: penggantian prefiks tabel Rudel dan driver (auto, mysqli, atau pdo). Tanpa argumen driver, fungsi ini menggunakan konstanta RUDEL_DB_DRIVER, lalu auto, yang mengutamakan pdo_mysql di luar WordPress dan menggunakan mysqli sebagai cadangan.

Membaca catatan

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

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

Pembacaan mandiri menggunakan lapisan repositori yang sama seperti pembacaan runtime WordPress. Rudel::reset() menghapus koneksi mandiri.