
# Użycie samodzielne

Tryb samodzielny pozwala zewnętrznemu kodowi PHP odczytywać rejestr Rudel przez bezpośrednie połączenie MySQL, bez ładowania WordPress.

Jest przeznaczony do:

- wyświetlania listy piaskownic
- wczytywania piaskownicy po identyfikatorze
- odczytywania metadanych cyklu życia, metadanych klonowania i prefiksów tabel

Nie jest przeznaczony do:

- tworzenia piaskownic
- niszczenia piaskownic
- uruchamiania czyszczenia
- klonowania tabel WordPress
- kierowania żądań na żywo

`Rudel::create()`, `create_from_git()`, `destroy()`, `cleanup()` i `cleanup_merged()` zgłaszają wyjątek `RuntimeException` w trybie samodzielnym, ponieważ wymagają usług środowiska uruchomieniowego WordPress.

## Inicjalizacja

Wczytaj autoloader Composer, a następnie przekaż `Rudel\Connection` do `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` przyjmuje jeszcze dwa opcjonalne argumenty: nadpisanie prefiksu tabeli Rudel oraz sterownik (`auto`, `mysqli` lub `pdo`). Bez argumentu sterownika używa stałej `RUDEL_DB_DRIVER`, a następnie `auto`, który poza WordPress preferuje `pdo_mysql` i w razie potrzeby korzysta z `mysqli`.

## Odczyt rekordów

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

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

Samodzielne odczyty korzystają z tej samej warstwy repozytorium co odczyty w czasie działania WordPress. `Rudel::reset()` zamyka samodzielne połączenie.
