
# Автономне використання

Автономний режим дає змогу зовнішньому коду PHP переглядати реєстр Rudel через пряме з’єднання MySQL, не завантажуючи WordPress.

Він призначений для:

- перегляду пісочниць
- завантаження пісочниці за ID
- читання метаданих життєвого циклу, метаданих клонування та префіксів таблиць

Він не призначений для:

- створення пісочниць
- знищення пісочниць
- очищення
- клонування таблиць WordPress
- маршрутизації активних запитів

`Rudel::create()`, `create_from_git()`, `destroy()`, `cleanup()` і `cleanup_merged()` в автономному режимі викидають `RuntimeException`, оскільки їм потрібні служби середовища виконання WordPress.

## Ініціалізація

Завантажте автозавантажувач 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`). Якщо аргумент драйвера не вказано, використовується константа `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()` очищує автономне з’єднання.
