
# Самостоятелна употреба

Самостоятелният режим позволява на външен код на PHP да преглежда регистъра на Rudel чрез директна връзка към MySQL, без да зарежда WordPress.

Предназначен е за:

- изброяване на изолираните среди
- зареждане на изолирана среда по идентификатор
- прочитане на метаданни за жизнения цикъл, метаданни за клонирането и префикси на таблиците

Не е предназначен за:

- създаване на изолирани среди
- унищожаване на изолирани среди
- изпълнение на почистване
- клониране на таблици 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`, която предпочита `pdo_mysql` извън WordPress и използва `mysqli` като резервен вариант.

## Прочитане на записи

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

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

Самостоятелното четене използва същия слой на хранилището като четенето по време на изпълнение на WordPress. `Rudel::reset()` прекъсва самостоятелната връзка.
