Chiuso . Questa domanda deve essere più mirata . Attualmente non accetta risposte.

Commenti

  • Un metodo hook è un metodo concreto in una classe astratta che può essere sovrascritto dalle sottoclassi, ma ha un comportamento predefinito nella classe astratta.

Risposta

La mia risposta riguarda WordPress che è scritto in PHP, ma questa è una meccanica di sviluppo generale quindi non dovrebbe “Non importa, nonostante tu abbia messo” python “nel titolo della tua domanda.

Un buon esempio di utilizzo degli hook, guarda caso nello sviluppo web, sono WordPress “hooks .

Sono denominati in modo appropriato in quanto consentono un modo per” agganciarsi “a determinati punti dellesecuzione di un programma.

Così per ad esempio, wp_head è un “azione” che viene emessa durante il rendering di un tema WordPress e si trova nella parte in cui esegue il rendering della parte che “s allinterno dei tag <head>. Supponi di voler scrivere un plug-in che richiede un foglio di stile aggiuntivo, uno script o qualcosa che normalmente sarebbe contenuto in quei tag. Puoi “agganciarti” a questa azione definendo una funzione da chiamare quando questa azione viene emessa. Qualcosa come:

add_action("wp_head", "your_function"); 

your_function() potrebbe essere qualcosa di semplice come:

function your_function() { echo "<link rel="stylesheet" type="text/css" href="lol.css" />"; } 

Ora, quando WordPress emette questa azione eseguendo qualcosa come do_action("wp_head");, vedrà che your_function() era “agganciato” a quellazione, quindi chiamerà quella funzione ( e gli passerà qualsiasi argomento se ne prende uno, come definito nella documentazione per un particolare hook ).

Per farla breve: consente di aggiungere funzionalità aggiuntive in punti specifici dellesecuzione di un programma “agganciandosi” a quei punti, nella maggior parte dei casi assegnando una funzione di callback.

Risposta

A seconda del background della persona che chiede, a volte la risposta a questa domanda può essere semplice come gli hook sono solitamente unaltra parola per un gestore di eventi, di cui Blaenk ha fornito uneccellente spiegazione.

Ci sono anche usi di questa frase quando si inietta un evento o codice r in un processo che altrimenti non ha eventi come moles , ad esempio.

Commenti

  • Grazie Bill, le talpe sembrano un concetto .NET, che mi è totalmente estraneo, potresti indicarmi qualcosa di pitonico o php o qualcosa di più generale.
  • Sfortunatamente non ' t usare quei due abbastanza da rivendicare esperienza, ma se lo leggo correttamente credo che stackoverflow.com/questions/156230/… è unidea simile in discussione, ma le talpe possono agganciare un assembly compilato. Un driver miniport è un altro posto in cui a volte viene usata la frase hook. Il punto era più che la terminologia " hook " può essere usata in un altro modo a volte, nella vecchia tecnologia MS comunque, forse il secondo uso lo fa non si applica anche a Python.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *