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