Hooks
Rudel udløser WordPress-handlinger og filtre omkring sandkassens livscyklushændelser. Kataloget nedenfor viser, hvad Rudel::hooks() returnerer: 28 handlinger og 5 filtre.
Eksempel
add_action(
'rudel_after_environment_create',
function ( \Rudel\Environment $environment, array $context ): void {
error_log( 'Created Rudel environment ' . $environment->id );
},
10,
2
);
De fleste before- og failed-handlinger modtager et $context-array. For hooks til sandkassens livscyklus indeholder det environment (eller name, options og environments_dir ved oprettelse); failed-handlinger modtager også den opfangede Throwable som $error.
Handlinger for sandkassens livscyklus
| Handling | Argumenter |
|---|---|
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-handlinger hører til EnvironmentManager::replace_environment_state(), som ingen Rudel-kommando kalder.
Snapshothandlinger
| Handling | Argumenter |
|---|---|
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 indeholder environment, kind (snapshot), name og path. Hver af disse udløses også under et snapshot-alias, f.eks. rudel_after_snapshot_create, og ved fejl udløses rudel_failed_recovery_point_{create|restore|delete} og rudel_failed_snapshot_{create|restore|delete} med $context og fejlen. Disse aliaser er ikke med i kataloget.
Oprydningshandlinger
| Handling | Argumenter |
|---|---|
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 indeholder removed, skipped, errors og reasons.
Git-pushhandlinger
| Handling | Argumenter |
|---|---|
rudel_before_environment_push |
$context |
rudel_after_environment_push |
$sha, $context |
rudel_environment_push_failed |
$context, $error |
Disse udløses for Rudel::push(). $context indeholder environment, remote, message og subdir. Kommandoen wp rudel push skubber direkte og udløser dem ikke.
Automatiseringshandlinger
| Handling | Argumenter |
|---|---|
rudel_before_automation_cleanup |
$config |
rudel_after_automation_cleanup |
$result, $config |
rudel_after_automation_expiring_environments |
$result, $config |
$config er hele rudel_config-arrayet. Se Automatisering.
Filtre
| Filter | Argumenter |
|---|---|
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 ændre indstillingerne for ethvert create-kald, før Rudel behandler dem. rudel_environment_clone_source filtrerer klonens metadata, der er gemt på en sandbox oprettet fra værten. rudel_environment_db_dropin_contents gælder kun for db.php-drop-in'et, som multisite-undermiljøer bruger; overlay-sandboxes, den eneste type, som aktuelle versioner opretter, genererer aldrig et sådant.
Filtre er beregnet til justering af politik, ikke til at erstatte Rudels lagringsmodel. Runtime-identitet, tabelpræfikser og worktree-metadata forbliver DB-understøttet tilstand i Rudel.