Domanda

Continuo a imbattersi in questo termine ganci in vari articoli di programmazione. Tuttavia non capisco quello che sono, e come possono essere utilizzati. Quindi volevo solo sapere cosa è il concetto di ganci; se qualcuno mi potrebbe collegarsi ad alcuni esempi, in particolare nel contesto dello sviluppo web, sarebbe bello.

È stato utile?

Soluzione

La mia risposta riguarda WordPress che è scritto in PHP, ma questo è un meccanico di sviluppo generale, in modo che non dovrebbe importa, nonostante il fatto che si mette 'python' nel titolo domanda.

Un buon esempio di utilizzo di ganci, guarda caso in sviluppo web, sono ganci WordPress' .

Si chiamano opportunamente in quanto consentono un modo per 'gancio nel' determinati punti della esecuzione di un programma.

Così, per esempio, il wp_head è un 'azione' emesso quando un tema WordPress viene eseguito il rendering ed è nella parte in cui rende la parte che è all'interno dei tag <head>. Dire che si vuole scrivere un plugin che richiede un ulteriore foglio di stile, script o qualcosa che normalmente andare all'interno di questi tag. È possibile 'gancio nel' questa azione definendo una funzione da chiamare quando viene emessa questa azione. Qualcosa di simile:

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 facendo qualcosa di simile do_action('wp_head');, si vedrà che your_function() era 'in agganciato' che l'azione, in modo che chiamare tale funzione ( e passarlo qualsiasi argomenti se prende qualsiasi, come definito nella documentazione per qualsiasi particolare hook ).

Lunga storia breve:. Esso consente di aggiungere funzionalità aggiuntive in punti specifici della esecuzione di un programma da 'aggancio in' quei punti, in molti casi, assegnando una funzione di callback

Altri suggerimenti

A seconda del contesto della persona che chiede a volte la risposta a questa domanda può essere semplice come ganci sono di solito un'altra parola per un gestore di eventi, che Blaenk dato un'ottima spiegazione per.

Ci sono inoltre usa di questa frase che voi quando iniettare un evento o codice in un processo che altrimenti non hanno eventi come moli per esempio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top