Lewati ke konten

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

PHP
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.