La mia risposta riguarda WordPress che è scritta in PHP, ma questa è una meccanica di sviluppo generale quindi non dovrebbe essere importante, nonostante il fatto che tu abbia messo "python" nel titolo della tua domanda.
Un buon esempio di utilizzo degli hook, per coincidenza nello sviluppo web, sono ganci WordPress .
Sono nominati in modo appropriato in quanto consentono di "agganciarsi" a determinati punti dell'esecuzione di un programma.
Quindi, ad esempio, wp_head è un '' azione 'che viene emessa quando viene eseguito il rendering di un tema WordPress ed è nella parte in cui restituisce la parte che si trova all'interno dei tag <head>
. Supponi di voler scrivere un plug-in che richiede un foglio di stile, uno script o qualcosa che normalmente dovrebbe rientrare in tali tag. È possibile "agganciarsi" a questa azione definendo una funzione da chiamare quando viene emessa questa azione. Qualcosa come:
add_action('wp_head', 'your_function');
your_function()
potrebbe essere qualcosa di semplice:
function your_function() {
echo '<link rel="stylesheet" type="text/css" href="lol.css" />';
}
Ora, quando WordPress emette questa azione facendo qualcosa come do_action('wp_head');
, vedrà che your_function()
è stata 'agganciata a' quell'azione, quindi chiamerà quella funzione ( e passa qualsiasi argomento se ne accetta, come definito nella documentazione per ogni hook particolare ).
Per farla breve: consente di aggiungere funzionalità aggiuntive in punti specifici dell'esecuzione di un programma "agganciando" quei punti, nella maggior parte dei casi assegnando una funzione di richiamata.