Hook
Rudel menjalankan tindakan dan filter WordPress di sekitar peristiwa siklus hidup sandbox. Katalog di bawah ini adalah hasil dari Rudel::hooks(): 28 tindakan dan 5 filter.
Contoh
add_action(
'rudel_after_environment_create',
function ( \Rudel\Environment $environment, array $context ): void {
error_log( 'Created Rudel environment ' . $environment->id );
},
10,
2
);
Sebagian besar tindakan before dan failed menerima larik $context. Untuk hook siklus hidup sandbox, larik ini berisi environment (atau name, options, dan environments_dir saat pembuatan); tindakan failed juga menerima Throwable yang tertangkap sebagai $error.
Tindakan siklus hidup sandbox
| Tindakan | Argumen |
|---|---|
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 |
Tiga tindakan replace_state termasuk EnvironmentManager::replace_environment_state(), yang tidak dipanggil oleh perintah Rudel mana pun.
Tindakan snapshot
| Tindakan | Argumen |
|---|---|
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 berisi environment, kind (snapshot), name, dan path. Masing-masing juga dijalankan dengan alias snapshot, misalnya rudel_after_snapshot_create, dan kegagalan menjalankan rudel_failed_recovery_point_{create|restore|delete} serta rudel_failed_snapshot_{create|restore|delete} dengan $context dan error. Alias tersebut tidak tercantum dalam katalog.
Tindakan pembersihan
| Tindakan | Argumen |
|---|---|
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 berisi removed, skipped, errors, dan reasons.
Tindakan push Git
| Tindakan | Argumen |
|---|---|
rudel_before_environment_push |
$context |
rudel_after_environment_push |
$sha, $context |
rudel_environment_push_failed |
$context, $error |
Ini dijalankan untuk Rudel::push(). $context berisi environment, remote, message, dan subdir. Perintah wp rudel push mendorong perubahan secara langsung dan tidak menjalankan tindakan tersebut.
Tindakan otomatisasi
| Tindakan | Argumen |
|---|---|
rudel_before_automation_cleanup |
$config |
rudel_after_automation_cleanup |
$result, $config |
rudel_after_automation_expiring_environments |
$result, $config |
$config adalah larik rudel_config lengkap. Lihat Otomatisasi.
Filter
| Filter | Argumen |
|---|---|
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 dapat mengubah opsi pada setiap pemanggilan create sebelum Rudel memprosesnya. rudel_environment_clone_source memfilter metadata clone yang disimpan pada sandbox yang dibuat dari host. rudel_environment_db_dropin_contents hanya berlaku untuk drop-in db.php yang digunakan lingkungan multisite-subsite; sandbox overlay, satu-satunya jenis yang dibuat versi saat ini, tidak pernah membuatnya.
Filter ditujukan untuk penyesuaian kebijakan, bukan untuk mengganti model penyimpanan Rudel. Identitas runtime, prefix tabel, dan metadata worktree tetap menjadi state Rudel berbasis DB.