Cosa sono gli ami? [chiuso]

15

Continuo a incontrare questo termine ganci in vari articoli di programmazione. Tuttavia non capisco cosa siano e come possano essere usati. Quindi volevo solo sapere qual è il concetto di ganci; se qualcuno potesse collegarmi ad alcuni esempi, in particolare nel contesto dello sviluppo web, sarebbe fantastico.

    
posta Rasmus 22.10.2010 - 05:49
fonte

2 risposte

17

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.

    
risposta data 22.10.2010 - 06:09
fonte
2

A seconda del background della persona che chiede a volte la risposta a questa domanda può essere semplice come gli hook di solito sono un'altra parola per un gestore di eventi, a cui Blaenk ha dato una spiegazione eccellente.

Ci sono anche usi di questa frase che si verificano quando si inietta un evento o codice in un processo che altrimenti non ha eventi come talpe .

    
risposta data 23.10.2010 - 00:01
fonte

Leggi altre domande sui tag