
# Utilizare autonomă

Modul independent permite codului PHP extern să inspecteze registrul Rudel printr-o conexiune directă MySQL, fără a încărca WordPress.

Este destinat pentru:

- listarea sandboxurilor
- încărcarea unui sandbox după ID
- citirea metadatelor ciclului de viață, a metadatelor clonării și a prefixelor tabelelor

Nu este destinat pentru:

- crearea sandboxurilor
- distrugerea sandboxurilor
- rularea cleanup-ului
- clonarea tabelelor WordPress
- rutarea cererilor live

`Rudel::create()`, `create_from_git()`, `destroy()`, `cleanup()` și `cleanup_merged()` generează o excepție `RuntimeException` în modul independent, deoarece au nevoie de serviciile de execuție WordPress.

## Inițializare

Încărcați autoloaderul Composer, apoi transmiteți un `Rudel\Connection` către `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` acceptă încă două argumente opționale: un prefix de tabel alternativ Rudel și un driver (`auto`, `mysqli` sau `pdo`). Fără un argument pentru driver, folosește constanta `RUDEL_DB_DRIVER`, apoi `auto`, care preferă `pdo_mysql` în afara WordPress și folosește `mysqli` ca alternativă.

## Citirea înregistrărilor

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

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

Citirile autonome folosesc același strat de repository ca citirile de runtime din WordPress. `Rudel::reset()` șterge conexiunea autonomă.
