Vai al contenuto

Uso autonomo

La modalità autonoma consente al codice PHP esterno di esaminare il registro di Rudel tramite una connessione diretta MySQL, senza caricare WordPress.

È pensata per:

  • elencare le sandbox
  • caricare una sandbox tramite ID
  • leggere i metadati del ciclo di vita, i metadati del clone e i prefissi delle tabelle

Non è pensata per:

  • creare sandbox
  • distruggere sandbox
  • eseguire la pulizia
  • clonare tabelle WordPress
  • instradare richieste attive

In modalità autonoma, Rudel::create(), create_from_git(), destroy(), cleanup() e cleanup_merged() generano un’eccezione RuntimeException perché necessitano dei servizi di runtime WordPress.

Inizializzazione

Caricate l’autoloader di Composer, quindi passate un Rudel\Connection a 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 accetta altri due argomenti facoltativi: una sovrascrittura del prefisso delle tabelle Rudel e un driver (auto, mysqli o pdo). Se non si specifica un driver, usa la costante RUDEL_DB_DRIVER, poi auto, che preferisce pdo_mysql al di fuori di WordPress e ripiega su mysqli.

Leggere i record

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

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

Le letture in modalità autonoma usano lo stesso livello di repository delle letture di runtime di WordPress. Rudel::reset() chiude la connessione autonoma.