Ma réponse concerne WordPress qui est écrit en PHP, mais c'est un mécanisme de développement général, donc cela ne devrait pas vraiment avoir d'importance, malgré le fait que vous ayez mis 'python' dans le titre de votre question.
Un bon exemple d'utilisation des hooks, comme par hasard dans le développement web, sont les hooks de WordPress .
Ils sont nommés de manière appropriée en ce qu'ils permettent de «se connecter» à certains points de l'exécution d'un programme.
Ainsi, par exemple, le wp_head est une `` action '' qui est émise lorsqu'un thème WordPress est rendu et se trouve à la partie où il rend la partie qui se trouve dans les <head>
balises. Supposons que vous souhaitiez écrire un plugin qui nécessite une feuille de style, un script ou quelque chose qui irait normalement dans ces balises. Vous pouvez vous «accrocher» à cette action en définissant une fonction à appeler lorsque cette action est émise. Quelque chose comme:
add_action('wp_head', 'your_function');
your_function()
pourrait être quelque chose d'aussi simple que:
function your_function() {
echo '<link rel="stylesheet" type="text/css" href="lol.css" />';
}
Maintenant, quand WordPress émet cette action en faisant quelque chose comme do_action('wp_head');
, il verra que your_function()
était « accroché dans » cette action, il appellera cette fonction ( et transmettre des arguments si elle prend tout, tel que défini dans la documentation pour tout hook ).
Pour faire court: il vous permet d'ajouter des fonctionnalités supplémentaires à des points spécifiques de l'exécution d'un programme en les «connectant» à ces points, dans la plupart des cas en attribuant un rappel de fonction.