Hooks
Rudel kör WordPress-åtgärder och filter kring sandlådans livscykelhändelser. Katalogen nedan motsvarar vad Rudel::hooks() returnerar: 28 åtgärder och 5 filter.
Exempel
add_action(
'rudel_after_environment_create',
function ( \Rudel\Environment $environment, array $context ): void {
error_log( 'Created Rudel environment ' . $environment->id );
},
10,
2
);
De flesta before- och failed-åtgärder tar emot en array med $context. För sandlådans livscykel-hookar innehåller den environment (eller name, options och environments_dir vid skapande); failed-åtgärder tar även emot det fångade Throwable som $error.
Åtgärder för sandlådans livscykel
| Åtgärd | Argument |
|---|---|
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 tre replace_state-åtgärderna hör till EnvironmentManager::replace_environment_state(), som inget Rudel-kommando anropar.
Ögonblicksbildsåtgärder
| Åtgärd | Argument |
|---|---|
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 innehåller environment, kind (snapshot), name och path. Var och en av dessa körs även under ett snapshot-alias, till exempel rudel_after_snapshot_create, och vid fel körs rudel_failed_recovery_point_{create|restore|delete} och rudel_failed_snapshot_{create|restore|delete} med $context och felet. Dessa alias finns inte i katalogen.
Rensningsåtgärder
| Åtgärd | Argument |
|---|---|
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 innehåller removed, skipped, errors och reasons.
Git-pushåtgärder
| Åtgärd | Argument |
|---|---|
rudel_before_environment_push |
$context |
rudel_after_environment_push |
$sha, $context |
rudel_environment_push_failed |
$context, $error |
Dessa körs för Rudel::push(). $context innehåller environment, remote, message och subdir. Kommandot wp rudel push skickar ändringarna direkt och kör inte dessa.
Automatiseringsåtgärder
| Åtgärd | Argument |
|---|---|
rudel_before_automation_cleanup |
$config |
rudel_after_automation_cleanup |
$result, $config |
rudel_after_automation_expiring_environments |
$result, $config |
$config är hela arrayen rudel_config. Se Automation.
Filter
| Filter | Argument |
|---|---|
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 ändra alternativen för varje anrop till create innan Rudel hanterar dem. rudel_environment_clone_source filtrerar kloningsmetadata som sparats i en sandlåda som skapats från värden. rudel_environment_db_dropin_contents gäller bara tillägget db.php som miljöer för undersajter i multisite använder; överlagringssandlådor, den enda typ som aktuella versioner skapar, genererar aldrig ett sådant tillägg.
Filter är avsedda för justering av policy, inte för att ersätta lagringsmodellen för Rudel. Runtime-identitet, tabellprefix och arbetskatalogmetadata förblir DB-baserade tillstånd i Rudel.