
# Fristående användning

I fristående läge kan extern PHP-kod granska registret för Rudel via en direkt MySQL-anslutning utan att läsa in WordPress.

Det är avsett för:

- lista sandlådor
- läsa in en sandlåda med ID
- läsa livscykelmetadata, kloningsmetadata och tabellprefix

Det är inte avsett för:

- skapa sandlådor
- förstöra sandlådor
- köra rensning
- klona WordPress-tabeller
- dirigera liveförfrågningar

`Rudel::create()`, `create_from_git()`, `destroy()`, `cleanup()` och `cleanup_merged()` ger ett `RuntimeException`-fel i fristående läge eftersom de kräver WordPress-körtidstjänster.

## Initiera

Läs in Composers autoloader och skicka sedan ett `Rudel\Connection` till `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` tar två ytterligare valfria argument: ett åsidosättande av Rudel tabellprefix och en drivrutin (`auto`, `mysqli` eller `pdo`). Om inget drivrutinsargument anges används konstanten `RUDEL_DB_DRIVER`, sedan `auto`, som föredrar `pdo_mysql` utanför WordPress och använder `mysqli` som reserv.

## Läs poster

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

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

Fristående läsningar använder samma repository-lager som WordPresss körningsläsningar. `Rudel::reset()` rensar den fristående anslutningen.
