Hooky
Rudel spouští akce a filtry WordPress při událostech životního cyklu sandboxu. Níže uvedený katalog odpovídá výstupu Rudel::hooks(): 28 akcí a 5 filtrů.
Příklad
add_action(
'rudel_after_environment_create',
function ( \Rudel\Environment $environment, array $context ): void {
error_log( 'Created Rudel environment ' . $environment->id );
},
10,
2
);
Většina akcí before a failed přijímá pole $context. U háčků životního cyklu sandboxu obsahuje environment (nebo při vytvoření hodnoty name, options a environments_dir); akce failed navíc přijímají zachycenou Throwable jako $error.
Akce životního cyklu sandboxu
| Akce | Argumenty |
|---|---|
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 |
Tři akce replace_state patří k EnvironmentManager::replace_environment_state(), které nevolá žádný příkaz Rudel.
Akce snímků
| Akce | Argumenty |
|---|---|
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 obsahuje environment, kind (snapshot), name a path. Každá z nich se spouští také pod aliasem snapshot, například rudel_after_snapshot_create; při selhání se spustí rudel_failed_recovery_point_{create|restore|delete} a rudel_failed_snapshot_{create|restore|delete} s hodnotami $context a chybou. Tyto aliasy v katalogu nejsou.
Akce úklidu
| Akce | Argumenty |
|---|---|
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 obsahuje removed, skipped, errors a reasons.
Akce odesílání Git
| Akce | Argumenty |
|---|---|
rudel_before_environment_push |
$context |
rudel_after_environment_push |
$sha, $context |
rudel_environment_push_failed |
$context, $error |
Tyto události se spouštějí pro Rudel::push(). $context obsahuje environment, remote, message a subdir. Příkaz wp rudel push provede přímé odeslání a tyto události nespouští.
Akce automatizace
| Akce | Argumenty |
|---|---|
rudel_before_automation_cleanup |
$config |
rudel_after_automation_cleanup |
$result, $config |
rudel_after_automation_expiring_environments |
$result, $config |
$config je celé pole rudel_config. Viz Automation.
Filtry
| Filtr | Argumenty |
|---|---|
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 může změnit možnosti libovolného volání create ještě předtím, než na ně Rudel začne působit. Filtr rudel_environment_clone_source upravuje metadata klonu uložená v sandboxu vytvořeném z hostitele. rudel_environment_db_dropin_contents se vztahuje pouze na drop-in db.php, který používají prostředí s podsítem multisite; overlay sandboxy, které vytvářejí pouze současné verze, jej nikdy negenerují.
Filtry slouží k úpravě zásad, nikoli k nahrazení modelu úložiště Rudel. Identita běhového prostředí, prefixy tabulek a metadata worktree zůstávají stavem Rudel uloženým v databázi.