Μετάβαση στο περιεχόμενο

Άγκιστρα

Το Rudel ενεργοποιεί ενέργειες και φίλτρα WordPress γύρω από συμβάντα του κύκλου ζωής των sandbox. Ο παρακάτω κατάλογος είναι αυτός που επιστρέφει το 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. Στα hooks του κύκλου ζωής των sandbox περιέχει το environment (ή τα name, options και environments_dir κατά τη δημιουργία)· οι ενέργειες failed λαμβάνουν επίσης το σφάλμα που εντοπίστηκε ως Throwable, μέσω του $error.

Ενέργειες κύκλου ζωής sandbox

Ενέργεια Ορίσματα
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.

Ενέργειες snapshot

Ενέργεια Ορίσματα
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. Δείτε την ενότητα Αυτοματοποίηση.

Φίλτρα

Φίλτρο Ορίσματα
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 φιλτράρει τα μεταδεδομένα κλωνοποίησης που αποθηκεύονται σε ένα sandbox που δημιουργήθηκε από τον host. Το rudel_environment_db_dropin_contents εφαρμόζεται μόνο στο drop-in db.php που χρησιμοποιούν τα περιβάλλοντα multisite-subsite· τα overlay sandboxes, τα οποία είναι ο μόνος τύπος που δημιουργούν οι τρέχουσες εκδόσεις, δεν δημιουργούν ποτέ τέτοιο αρχείο.

Τα φίλτρα προορίζονται για προσαρμογή της πολιτικής, όχι για αντικατάσταση του μοντέλου αποθήκευσης του Rudel. Η ταυτότητα κατά τον χρόνο εκτέλεσης, τα προθέματα πινάκων και τα μεταδεδομένα worktree παραμένουν κατάσταση Rudel που βασίζεται στη βάση δεδομένων.