Hookok
Rudel a sandbox életciklus-eseményei körüli WordPress műveleteket és szűrőket aktiválja. Az alábbi katalógust adja vissza a Rudel::hooks(): 28 műveletet és 5 szűrőt.
Példa
add_action(
'rudel_after_environment_create',
function ( \Rudel\Environment $environment, array $context ): void {
error_log( 'Created Rudel environment ' . $environment->id );
},
10,
2
);
A legtöbb before és failed művelet $context tömböt kap. A sandbox életciklus-hookoknál ez a environment értéket tartalmazza (vagy létrehozáskor a name, options és environments_dir értéket); a failed műveletek a $error néven elkapott Throwable értéket is megkapják.
Sandbox-életciklus műveletei
| Művelet | Argumentumok |
|---|---|
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 |
A három replace_state művelet a EnvironmentManager::replace_environment_state() része, amelyet egyetlen Rudel parancs sem hív meg.
Pillanatkép-műveletek
| Művelet | Argumentumok |
|---|---|
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 |
A $context tartalmazza a environment, kind (snapshot), name és path értékét. Mindegyik a snapshot alias alatt is lefut, például rudel_after_snapshot_create; hiba esetén pedig a rendszer meghívja a rudel_failed_recovery_point_{create|restore|delete} és rudel_failed_snapshot_{create|restore|delete} hookot a $context értékével és a hibával. Ezek az aliasok nem szerepelnek a katalógusban.
Takarítási műveletek
| Művelet | Argumentumok |
|---|---|
rudel_before_environment_cleanup |
$options |
rudel_after_environment_cleanup |
$result, $options |
rudel_before_environment_cleanup_merged |
$options |
rudel_after_environment_cleanup_merged |
$result, $options |
A $result tartalmazza a removed, skipped, errors és reasons értékét.
Git feltöltési műveletei
| Művelet | Argumentumok |
|---|---|
rudel_before_environment_push |
$context |
rudel_after_environment_push |
$sha, $context |
rudel_environment_push_failed |
$context, $error |
Ezek a Rudel::push() esetén futnak le. A $context tartalmazza a environment, remote, message és subdir értékét. A wp rudel push parancs közvetlenül tölt fel, és nem hívja meg ezeket.
Automatizálási műveletek
| Művelet | Argumentumok |
|---|---|
rudel_before_automation_cleanup |
$config |
rudel_after_automation_cleanup |
$result, $config |
rudel_after_automation_expiring_environments |
$result, $config |
A $config a teljes rudel_config tömb. Lásd: Automatizálás.
Szűrők
| Szűrő | Argumentumok |
|---|---|
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 |
A rudel_environment_create_options módosíthatja bármely létrehozási hívás beállításait, mielőtt a Rudel feldolgozná őket. A rudel_environment_clone_source szűri a gazdagépről létrehozott sandbox klónjának metaadatait. A rudel_environment_db_dropin_contents csak arra a db.php beépülő modulra érvényes, amelyet a multisite alwebhelyes környezetek használnak; az átfedő sandboxok, amelyeket a jelenlegi verziók egyedüliként hoznak létre, soha nem generálnak ilyet.
A szűrők célja a szabályzat módosítása, nem pedig a Rudel tárolási modelljének lecserélése. A futásidejű identitás, a táblaprefixek és a worktree-metaadatok továbbra is az adatbázisban tárolt Rudel állapot részét képezik.