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