Description:
- Créez une classe dans l'espace de noms (ou sous-répertoire) Drupal\modulename\Hook. Celle-ci sera automatiquement enregistrée en tant que service autowired.
- Drupal\Core\Hook\Attribute\Hook soit sur les méthodes, soit sur la classe. S'il est utilisé sur la classe et que celle-ci ne dispose pas d'une méthode __invoke, un argument de méthode est alors requis.
https://www.drupal.org/node/3442349
node.module
use Drupal\Core\Hook\Attribute\LegacyHook;
use Drupal\node\Hook\NodeHooks;
// @phpstan-ignore-next-line
#[LegacyHook]
function node_user_cancel($edit, UserInterface $account, $method) {
// This only needs to be returned if the hook previously had a return.
return \Drupal::service(NodeHooks::class)->userCancel($edit, $account, $method);
}