Meine Antwort bezieht sich auf WordPress, das in PHP geschrieben ist, aber dies ist eine allgemeine Entwicklungsmechanik, so dass es eigentlich egal sein sollte, obwohl Sie "Python" in Ihren Fragentitel eingefügt haben.
Ein gutes Beispiel für die Verwendung von Hooks in der Webentwicklung sind die Hooks von WordPress .
Sie werden entsprechend benannt, indem sie die Möglichkeit bieten, sich in bestimmte Punkte der Programmausführung einzuklinken.
So ist zum Beispiel der wp_head eine 'Aktion', die beim Rendern eines WordPress-Themas ausgelöst wird und sich an der Stelle befindet, an der der Teil gerendert wird, der sich in den <head>
Tags befindet. Angenommen, Sie möchten ein Plugin schreiben, für das ein zusätzliches Stylesheet, Skript oder etwas anderes erforderlich ist, das normalerweise in diesen Tags enthalten ist. Sie können sich in diese Aktion einklinken, indem Sie eine Funktion definieren, die beim Auslösen dieser Aktion aufgerufen werden soll. Etwas wie:
add_action('wp_head', 'your_function');
your_function()
könnte so einfach sein wie:
function your_function() {
echo '<link rel="stylesheet" type="text/css" href="lol.css" />';
}
Nun, wenn Wordpress diese Aktion emittiert von etwas zu tun , wie do_action('wp_head');
, wird es sehen , dass your_function()
war ‚hooked in‘ diese Aktion, so dass er diese Funktion aufruft ( und gibt ihm keine Argumente , wenn es irgendeine nimmt, wie in der Dokumentation für einen bestimmten Haken definiert ).
Kurz gesagt: Sie können zusätzliche Funktionen an bestimmten Punkten der Programmausführung hinzufügen, indem Sie diese Punkte "einbinden", in den meisten Fällen durch Zuweisen eines Funktionsrückrufs.