Siirry sisältöön

Erilliskäyttö

Itsenäisessä tilassa ulkoinen PHP-koodi voi tarkastella kohteen Rudel rekisteriä suoran MySQL-yhteyden avulla lataamatta kohdetta WordPress.

Se on tarkoitettu seuraaviin:

  • hiekkalaatikoiden luettelointi
  • hiekkalaatikon lataaminen tunnuksen perusteella
  • elinkaaritietojen, kloonin metatietojen ja taulukoiden etuliitteiden lukeminen

Sitä ei ole tarkoitettu seuraaviin:

  • hiekkalaatikoiden luominen
  • hiekkalaatikoiden tuhoaminen
  • siivouksen suorittaminen
  • kohteen WordPress taulukoiden kloonaaminen
  • reaaliaikaisten pyyntöjen reitittäminen

Rudel::create(), create_from_git(), destroy(), cleanup() ja cleanup_merged() aiheuttavat RuntimeException-virheen itsenäisessä tilassa, koska ne tarvitsevat ajonaikaisia WordPress-palveluja.

Alustaminen

Lataa kohteen Composer automaattinen lataaja ja välitä sitten kohteelle Rudel::init() arvo Rudel\Connection:

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 ottaa kaksi muuta valinnaista argumenttia: taulukoiden etuliitteen ohituksen muodossa Rudel ja ajurin (auto, mysqli tai pdo). Jos ajuriargumenttia ei anneta, se käyttää ensin vakiota RUDEL_DB_DRIVER ja sitten arvoa auto, joka suosii kohdetta pdo_mysql kohteen WordPress ulkopuolella ja käyttää muutoin varalla arvoa mysqli.

Tietueiden lukeminen

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

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

Itsenäisissä luvuissa käytetään samaa tietovarastokerrosta kuin kohteen WordPress ajonaikaisissa luvuissa. Rudel::reset() tyhjentää itsenäisen yhteyden.