Ga naar de inhoud

Zelfstandig gebruik

In de zelfstandige modus kan externe PHP-code het register van Rudel inspecteren via een directe MySQL-verbinding, zonder WordPress te laden.

Bedoeld voor:

  • sandboxes weergeven
  • één sandbox laden op basis van ID
  • levenscyclusmetadata, kloonmetadata en tabelprefixen lezen

Niet bedoeld voor:

  • sandboxes aanmaken
  • sandboxes vernietigen
  • opschoning uitvoeren
  • WordPress-tabellen klonen
  • liveverzoeken routeren

Rudel::create(), create_from_git(), destroy(), cleanup() en cleanup_merged() geven een RuntimeException-fout in de zelfstandige modus, omdat ze WordPress-runtimeservices nodig hebben.

Initialiseren

Laad de autoloader van Composer en geef vervolgens een Rudel\Connection door aan 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 accepteert nog twee optionele argumenten: een overschrijving van de Rudel-tabelprefix en een driver (auto, mysqli of pdo). Zonder driverargument gebruikt het de constante RUDEL_DB_DRIVER, daarna auto, die buiten WordPress de voorkeur geeft aan pdo_mysql en terugvalt op mysqli.

Records lezen

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

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

Zelfstandige leesbewerkingen gebruiken dezelfde repositorylaag als runtime-leesbewerkingen van WordPress. Rudel::reset() wist de zelfstandige verbinding.