Zum Inhalt springen

Eigenständige Nutzung

Im eigenständigen Modus kann externer PHP-Code die Registry von Rudel über eine direkte MySQL-Verbindung untersuchen, ohne WordPress zu laden.

Vorgesehen für:

  • Sandboxes auflisten
  • eine Sandbox anhand ihrer ID laden
  • Lifecycle-Metadaten, Klon-Metadaten und Tabellenpräfixe lesen

Nicht vorgesehen für:

  • Sandboxes erstellen
  • Sandboxes löschen
  • Bereinigungen ausführen
  • WordPress-Tabellen klonen
  • Live-Anfragen weiterleiten

Rudel::create(), create_from_git(), destroy(), cleanup() und cleanup_merged() lösen im eigenständigen Modus einen RuntimeException aus, da sie Laufzeitdienste von WordPress benötigen.

Initialisieren

Lade zuerst den Autoloader von Composer und übergib dann ein Rudel\Connection an 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 akzeptiert zwei weitere optionale Argumente: eine Überschreibung des Präfixes für Rudel-Tabellen und einen Treiber (auto, mysqli oder pdo). Ohne Treiberargument verwendet es die Konstante RUDEL_DB_DRIVER, dann auto, das außerhalb von WordPress pdo_mysql bevorzugt und andernfalls auf mysqli zurückfällt.

Datensätze lesen

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

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

Eigenständige Lesezugriffe verwenden dieselbe Repository-Schicht wie Laufzeit-Lesezugriffe von WordPress. Rudel::reset() trennt die eigenständige Verbindung.