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():
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
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.