
# 독립 실행

독립 실행 모드를 사용하면 외부 PHP 코드가 직접 MySQL 연결을 통해 Rudel의 레지스트리를 확인할 수 있으며, 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()`은 독립형 연결을 해제합니다.
