Ich stoße in verschiedenen Programmartikeln immer wieder auf diesen Begriff. Ich verstehe jedoch nicht, was sie sind und wie sie verwendet werden können. Also wollte ich nur wissen, was unter Haken zu verstehen ist. Wenn mich jemand mit einigen Beispielen verlinken könnte, insbesondere im Zusammenhang mit der Webentwicklung, wäre das großartig.
web-development
python
Rasmus
quelle
quelle
Antworten:
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:your_function()
könnte so einfach sein wie:Nun, wenn Wordpress diese Aktion emittiert von etwas zu tun , wie
do_action('wp_head');
, wird es sehen , dassyour_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.
quelle
Abhängig vom Hintergrund des Fragenden kann die Antwort auf diese Frage manchmal so einfach sein, wie Haken normalerweise ein anderes Wort für einen Event-Handler sind, für das Blaenk eine hervorragende Erklärung gab.
Es gibt auch Verwendungen dieses Ausdrucks, wenn Sie ein Ereignis oder einen Code in einen Prozess einfügen, der ansonsten keine Ereignisse wie z. B. Mole enthält .
quelle