it-swarm-fr.com

Quels sont les crochets?

Je continue à venir sur ce terme crochets dans divers articles de programmation. Cependant, je ne comprends pas ce qu'ils sont, et comment peuvent-ils être utilisés. Donc, je voulais juste savoir quel est le concept de crochets; Si quelqu'un pouvait me lier à certains exemples, en particulier dans le contexte du développement Web, ce serait génial.

15
Rasmus

Ma réponse concerne WordPress qui est écrit en PHP, mais il s'agit d'un mécanicien de développement général de sorte qu'il ne devrait pas vraiment importer, malgré le fait que vous mettez "Python" dans votre titre de question.

Un bon exemple d'utilisation des crochets, de manière coïncidente dans le développement Web, sont WordPress 'Hooks .

Ils sont nommés de manière appropriée en ce sens qu'ils permettent de "accrocher" certains points de l'exécution d'un programme.

Donc, par exemple, le wp_head est une "action" qui est émise lorsqu'un WordPress thème est en cours de rendu et il est à la partie où il se rend la partie qui se trouve dans le <head> Tags. Dites que vous souhaitez écrire un plugin nécessitant une feuille de style supplémentaire, un script ou quelque chose qui irait normalement dans ces tags. Vous pouvez "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 appelle donc cette fonction ((( et transmett-elle les arguments si cela prend tout, tel que défini dans la documentation pour tout crochet particulier )).

Longue histoire courte: il vous permet d'ajouter des fonctionnalités supplémentaires à des points spécifiques de l'exécution d'un programme en "accrochant" ces points, dans la plupart des cas en attribuant un rappel de fonction.

19
Jorge Israel Peña