Hooki
Rudel uruchamia akcje i filtry WordPress dotyczące zdarzeń cyklu życia piaskownicy. Poniższy katalog odpowiada temu, co zwraca Rudel::hooks(): 28 akcji i 5 filtrów.
Przykład
add_action(
'rudel_after_environment_create',
function ( \Rudel\Environment $environment, array $context ): void {
error_log( 'Created Rudel environment ' . $environment->id );
},
10,
2
);
Większość akcji before i failed otrzymuje tablicę $context. W hakach cyklu życia piaskownicy zawiera ona environment (lub podczas tworzenia: name, options i environments_dir); akcje failed otrzymują również przechwycony Throwable jako $error.
Akcje cyklu życia piaskownicy
| Akcja | 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 |
Trzy akcje replace_state należą do EnvironmentManager::replace_environment_state(), którego nie wywołuje żadne polecenie Rudel.
Akcje migawek
| Akcja | 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 zawiera environment, kind (snapshot), name i path. Każda z nich jest też uruchamiana pod aliasem snapshot, na przykład rudel_after_snapshot_create, a błędy uruchamiają rudel_failed_recovery_point_{create|restore|delete} i rudel_failed_snapshot_{create|restore|delete} z $context oraz błędem. Tych aliasów nie ma w katalogu.
Akcje czyszczenia
| Akcja | 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 zawiera removed, skipped, errors i reasons.
Akcje wypychania Git
| Akcja | Argumenty |
|---|---|
rudel_before_environment_push |
$context |
rudel_after_environment_push |
$sha, $context |
rudel_environment_push_failed |
$context, $error |
Te akcje są uruchamiane dla Rudel::push(). $context zawiera environment, remote, message i subdir. Polecenie wp rudel push wypycha zmiany bezpośrednio i ich nie uruchamia.
Akcje automatyzacji
| Akcja | Argumenty |
|---|---|
rudel_before_automation_cleanup |
$config |
rudel_after_automation_cleanup |
$result, $config |
rudel_after_automation_expiring_environments |
$result, $config |
$config to pełna tablica rudel_config. Zobacz Automatyzacja.
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 może zmienić opcje każdego wywołania create, zanim Rudel zacznie ich używać. Filtr rudel_environment_clone_source modyfikuje metadane klonowania zapisane w piaskownicy utworzonej z hosta. rudel_environment_db_dropin_contents dotyczy tylko wtyczki drop-in db.php używanej w środowiskach multisite z podwitrynami; piaskownice nakładkowe, jedyny rodzaj tworzony przez obecne wersje, nigdy jej nie generują.
Filtry służą do dostosowywania zasad, a nie do zastępowania modelu przechowywania danych Rudel. Tożsamość środowiska uruchomieniowego, prefiksy tabel i metadane drzew roboczych pozostają stanem Rudel opartym na DB.