Към съдържанието

Куки

Rudel задейства действия и филтри WordPress при събития от жизнения цикъл на пясъчниците. Каталогът по-долу съответства на резултата от Rudel::hooks(): 28 действия и 5 филтъра.

Пример

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

Повечето действия before и failed получават масив $context. При куките за жизнения цикъл на пясъчника той съдържа environment (или name, options и environments_dir при създаване); действията failed получават и уловеното Throwable като $error.

Действия за жизнения цикъл на пясъчника

Действие Аргументи
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

Трите действия replace_state принадлежат на EnvironmentManager::replace_environment_state(), което не се извиква от нито една команда Rudel.

Действия за снимки

Действие Аргументи
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 съдържа environment, kind (snapshot), name и path. Всяко от тях се задейства и под псевдоним snapshot, например rudel_after_snapshot_create, а при неуспех се задействат rudel_failed_recovery_point_{create|restore|delete} и rudel_failed_snapshot_{create|restore|delete} с $context и грешката. Тези псевдоними не са включени в каталога.

Действия за почистване

Действие Аргументи
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 съдържа removed, skipped, errors и reasons.

Действия за изпращане на промени Git

Действие Аргументи
rudel_before_environment_push $context
rudel_after_environment_push $sha, $context
rudel_environment_push_failed $context, $error

Те се задействат за Rudel::push(). $context съдържа environment, remote, message и subdir. Командата wp rudel push изпраща директно и не ги задейства.

Действия за автоматизация

Действие Аргументи
rudel_before_automation_cleanup $config
rudel_after_automation_cleanup $result, $config
rudel_after_automation_expiring_environments $result, $config

$config е целият масив rudel_config. Вижте Automation.

Филтри

Филтър Аргументи
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 може да променя опциите на всеки извикващ код преди Rudel да ги обработи. rudel_environment_clone_source филтрира метаданните на клонирането, съхранени в изолирана среда, създадена от хоста. rudel_environment_db_dropin_contents се отнася само за добавката db.php, която използват среди с под-сайтове в мултисайт; наслагващите изолирани среди, единственият вид, създаван от текущите версии, никога не генерират такава добавка.

Филтрите са предназначени за корекции на правилата, а не за замяна на модела за съхранение на Rudel. Идентичността по време на изпълнение, префиксите на таблиците и метаданните на работните дървета остават състояние на Rudel, съхранявано в базата данни.