Treci la conținut

Cârlige

Rudel declanșează acțiuni și filtre WordPress pentru evenimentele din ciclul de viață al sandboxului. Catalogul de mai jos este cel returnat de Rudel::hooks(): 28 de acțiuni și 5 filtre.

Exemplu

PHP
add_action(
    'rudel_after_environment_create',
    function ( \Rudel\Environment $environment, array $context ): void {
        error_log( 'Created Rudel environment ' . $environment->id );
    },
    10,
    2
);

Majoritatea acțiunilor before și failed primesc un tablou $context. Pentru hook-urile din ciclul de viață al sandboxului, acesta conține environment (sau name, options și environments_dir la creare); acțiunile failed primesc și Throwable capturată ca $error.

Acțiuni din ciclul de viață al sandboxului

Acțiune Argumente
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

Cele trei acțiuni replace_state aparțin lui EnvironmentManager::replace_environment_state(), pe care nicio comandă Rudel nu o apelează.

Acțiuni pentru instantanee

Acțiune Argumente
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 conține environment, kind (snapshot), name și path. Fiecare dintre acestea se declanșează și sub aliasul snapshot, de exemplu rudel_after_snapshot_create, iar erorile declanșează rudel_failed_recovery_point_{create|restore|delete} și rudel_failed_snapshot_{create|restore|delete} cu $context și eroarea. Aliasurile respective nu apar în catalog.

Acțiuni de cleanup

Acțiune Argumente
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 conține removed, skipped, errors și reasons.

Acțiuni de push Git

Acțiune Argumente
rudel_before_environment_push $context
rudel_after_environment_push $sha, $context
rudel_environment_push_failed $context, $error

Acestea se declanșează pentru Rudel::push(). $context conține environment, remote, message și subdir. Comanda wp rudel push face push direct și nu le declanșează.

Acțiuni de automatizare

Acțiune Argumente
rudel_before_automation_cleanup $config
rudel_after_automation_cleanup $result, $config
rudel_after_automation_expiring_environments $result, $config

$config este tabloul complet rudel_config. Consultați Automatizare.

Filtre

Filtru Argumente
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 poate modifica opțiunile oricărui apel de creare înainte ca Rudel să le proceseze. rudel_environment_clone_source filtrează metadatele clonării salvate într-un sandbox creat de pe gazdă. rudel_environment_db_dropin_contents se aplică numai drop-in-ului db.php folosit de mediile multisite-subsite; sandboxurile overlay, singurul tip creat de versiunile actuale, nu generează niciodată unul.

Filtrele sunt destinate ajustării politicilor, nu înlocuirii modelului de stocare al Rudel. Identitatea la execuție, prefixele tabelelor și metadatele arborilor de lucru rămân stări Rudel bazate pe DB.