O que são ganchos? [fechadas]

15

Continuo a encontrar este termo ganchos em vários artigos de programação. No entanto, não entendo o que são e como podem ser usados. Então eu só queria saber qual é o conceito de ganchos; se alguém pudesse me ligar a alguns exemplos, particularmente no contexto do desenvolvimento web, seria ótimo.

    
por Rasmus 22.10.2010 / 05:49
fonte

2 respostas

17

Minha resposta diz respeito ao WordPress, que está escrito em PHP, mas essa é uma mecânica geral de desenvolvimento, então não deveria importar, apesar do fato de você colocar 'python' no título da pergunta.

Um bom exemplo do uso de ganchos, coincidentemente no desenvolvimento da web, são os ganchos do WordPress .

Eles são nomeados apropriadamente na medida em que permitem uma maneira de se "conectar" a certos pontos da execução de um programa.

Por exemplo, o wp_head é uma 'ação' que é emitida quando um tema do WordPress é processado e é na parte em que ele processa a parte que está dentro das tags <head> . Digamos que você queira escrever um plug-in que requeira uma folha de estilo adicional, um script ou algo que normalmente se encaixe nessas tags. Você pode "enganchar" nessa ação definindo uma função a ser chamada quando esta ação é emitida. Algo como:

add_action('wp_head', 'your_function');

your_function() poderia ser algo tão simples como:

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

Agora, quando o WordPress emite esta ação fazendo algo como do_action('wp_head'); , ele verá que your_function() foi 'enganchado em' essa ação, então ele chamará essa função ( e passá-lo quaisquer argumentos, se for preciso, conforme definido na documentação para qualquer gancho em particular .

Longa história curta: Ela permite que você adicione funcionalidade adicional em pontos específicos da execução de um programa, conectando-se a esses pontos, na maioria dos casos, atribuindo um callback de função.

    
por 22.10.2010 / 06:09
fonte
2

Dependendo do contexto da pessoa perguntando, por vezes, a resposta a esta questão pode ser tão simples como os ganchos são normalmente outra palavra para um manipulador de eventos, para a qual Blaenk deu uma excelente explicação.

Também há usos dessa frase que são quando você injeta um evento ou código em um processo que não tem eventos como moles por exemplo.

    
por 23.10.2010 / 00:01
fonte