Hooks
Rudel activeert WordPress-acties en -filters rond gebeurtenissen in de levenscyclus van sandboxes. De catalogus hieronder bevat wat Rudel::hooks() retourneert: 28 acties en 5 filters.
Voorbeeld
add_action(
'rudel_after_environment_create',
function ( \Rudel\Environment $environment, array $context ): void {
error_log( 'Created Rudel environment ' . $environment->id );
},
10,
2
);
De meeste before- en failed-acties ontvangen een $context-array. Bij hooks voor de levenscyclus van een sandbox bevat die de environment (of de name, options en environments_dir bij het aanmaken); ook ontvangen failed-acties de opgevangen Throwable als $error.
Acties voor de levenscyclus van sandboxes
| Actie | Argumenten |
|---|---|
rudel_before_environment_create |
$context |
rudel_after_environment_create |
$environment, $context |
rudel_environment_create_failed |
$context, $error |
rudel_before_environment_update |
$context |
rudel_after_environment_update |
$environment, $context |
rudel_environment_update_failed |
$context, $error |
rudel_before_environment_destroy |
$context |
rudel_after_environment_destroy |
$context |
rudel_environment_destroy_failed |
$context, $error |
rudel_before_environment_replace_state |
$context |
rudel_after_environment_replace_state |
$result, $context |
rudel_environment_replace_state_failed |
$context, $error |
De drie replace_state-acties horen bij EnvironmentManager::replace_environment_state(), die door geen enkele Rudel-opdracht wordt aangeroepen.
Snapshotacties
| Actie | Argumenten |
|---|---|
rudel_before_recovery_point_create |
$context |
rudel_after_recovery_point_create |
$context, $meta |
rudel_before_recovery_point_restore |
$context |
rudel_after_recovery_point_restore |
$context |
rudel_before_recovery_point_delete |
$context |
rudel_after_recovery_point_delete |
$context |
$context bevat environment, kind (snapshot), name en path. Elk hiervan wordt ook geactiveerd onder een snapshot-alias, bijvoorbeeld rudel_after_snapshot_create. Bij fouten worden rudel_failed_recovery_point_{create|restore|delete} en rudel_failed_snapshot_{create|restore|delete} geactiveerd met $context en de fout. Deze aliassen staan niet in de catalogus.
Opschoningsacties
| Actie | Argumenten |
|---|---|
rudel_before_environment_cleanup |
$options |
rudel_after_environment_cleanup |
$result, $options |
rudel_before_environment_cleanup_merged |
$options |
rudel_after_environment_cleanup_merged |
$result, $options |
$result bevat removed, skipped, errors en reasons.
Git-pushacties
| Actie | Argumenten |
|---|---|
rudel_before_environment_push |
$context |
rudel_after_environment_push |
$sha, $context |
rudel_environment_push_failed |
$context, $error |
Deze worden geactiveerd voor Rudel::push(). $context bevat environment, remote, message en subdir. De opdracht wp rudel push pusht rechtstreeks en activeert ze niet.
Automatiseringsacties
| Actie | Argumenten |
|---|---|
rudel_before_automation_cleanup |
$config |
rudel_after_automation_cleanup |
$result, $config |
rudel_after_automation_expiring_environments |
$result, $config |
$config is de volledige rudel_config-array. Zie Automatisering.
Filters
| Filter | Argumenten |
|---|---|
rudel_environment_create_options |
$options, $name, $manager |
rudel_environment_clone_source |
$clone_source, $host_url, $db_cloned, $themes_cloned, $plugins_cloned, $uploads_cloned, $extra |
rudel_environment_cleanup_options |
$options, $repository |
rudel_environment_cleanup_merged_options |
$options, $repository |
rudel_environment_db_dropin_contents |
$contents, $context |
rudel_environment_create_options kan de opties van elke aanroep tot aanmaken wijzigen voordat Rudel deze verwerkt. rudel_environment_clone_source filtert de kloonmetadata die wordt opgeslagen op een sandbox die vanaf de host is aangemaakt. rudel_environment_db_dropin_contents is alleen van toepassing op de db.php-drop-in die multisite-subsiteomgevingen gebruiken; overlay-sandboxes, de enige soort die huidige versies aanmaken, genereren er nooit een.
Filters zijn bedoeld om beleid aan te passen, niet om het opslagmodel van Rudel te vervangen. Runtime-identiteit, tabelprefixen en worktreemetadata blijven DB-gestuurde Rudel-status.