
# 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.
