Le web avance et cet article date de février 2014, son contenu peut ne plus être pertinent ou d'actualité.

Les hooks

Que sont les “hooks” ?

Le système de hooks, ou “de crochets” est un système souvent implémenté au sein de Framework ou de CMS afin de pouvoir facilement et efficacement implémenter des plugins pour modifier le comportement standard d’une application ou un site.

Ceci consiste à placer au sein du code des appels à des fonctions externes. Il suffit par la suite d’écrire une fonction et de l’associer à un hook donné pour qu’elle s’exécute à l’instant désiré au sein de l’application.

Quel est l’intérêt d’utiliser les hooks ?

Le principal intérêt des hooks est de pouvoir personnaliser une application sans en modifier le code source, par la simple inclusion d’un fichier répertoriant les fonctions à ancrer dans l’application. Ainsi un système de plugin est facilement implémentable, mais les hooks peuvent très bien aussi permettre une utilisation plus “bas niveau” avec une visée plus de personnalisation du design d’une application. 29

Les différents types de hooks

Les hooks ont deux applications :

  • Exécuter des actions : appelé action, ce hook permet à un endroit spécifier du code, d’exécuter des scripts.
  • Modifier une valeur : appelé filtre, ce type de hook permet de récupérer une valeur et de la modifier

Dans les faits, un filtres est une action retournant une valeur (la valeur filtrée cqfd)

Comment implémenter la fonctionnalité de hooks ?

Son implémentation se déroule en trois étapes :

  • inclusion de la classe au début de l’application
  • inclusion de la liste des actions et filtres à appliquer
  • déclaration au sein de l’application des Hooks, de l’endroit où doivent être exécuté les actions et filtres

Pour aller plus loin

Parce qu’un exemple est toujours plus parlant que de simples explications, vous pouvez retrouver sur Github la classe de hooks que j’ai développé, au travers d’un exemple d’utilisation : php_hooks

 

Publié le par Edouard dans Développement , PHP