Aller au contenu

Utilisation autonome

Le mode autonome permet au code externe PHP d’inspecter le registre de Rudel via une connexion MySQL directe, sans charger WordPress.

Ce mode est destiné à :

  • lister les sandboxes
  • charger une sandbox par ID
  • lire les métadonnées du cycle de vie, les métadonnées de clonage et les préfixes de table

Il n’est pas destiné à :

  • créer des sandboxes
  • détruire des sandboxes
  • exécuter le nettoyage
  • cloner des tables WordPress
  • acheminer des requêtes en direct

Rudel::create(), create_from_git(), destroy(), cleanup() et cleanup_merged() lèvent une exception RuntimeException en mode autonome, car elles nécessitent les services d’exécution WordPress.

Initialisation

Chargez l’autoloader de Composer, puis transmettez un Rudel\Connection à 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 accepte deux arguments facultatifs supplémentaires : une surcharge du préfixe de table Rudel et un pilote (auto, mysqli ou pdo). Sans argument de pilote, il utilise la constante RUDEL_DB_DRIVER, puis auto, qui privilégie pdo_mysql en dehors de WordPress et se rabat sur mysqli.

Lire des enregistrements

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

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

Les lectures autonomes utilisent la même couche de dépôt que les lectures d'exécution de WordPress. Rudel::reset() efface la connexion autonome.