Tu sei qui

hook

GianlucaBove.it

...just another technical blog...

Drupal - introduzione agli hooks

Drupal non è solo un CMS (Content Management System) già utilizzabile out-of-the-box senza scrivere codice, ma si può tranquillamente considerare un vero e proprio framework, in quanto mette a disposizione dello sviluppatore la sua libreria di funzioni orientate al Content Management consentendo lo sviluppo di vere e proprie Web Applications.

E’ un framework completamente modulare le cui funzionalità sono organizzate, appunto, in moduli che possono essere abilitati e disabilitati dalla sua interfaccia di amministrazione.

I moduli estendono le funzionalità di Drupal secondo il design pattern “inversion of control” in cui le funzionalità modulari vengono invocate dal framework.

Drupal chiama queste invocazioni di funzionalità “hooks” (ganci).

Gli “hooks” possono essere visti come “eventi” che vengono scatenati in situazioni particolari a cui i nostri moduli possono agganciarsi per eseguire pezzi di codice personalizzato.

Tipicamente, quindi, i nostri moduli saranno composti da una serie di hooks.

Per far agganciare il nostro modulo a un hook basta definire una funzione con la seguente naming convention:
_

Ad esempio, se nel nostro modulo chiamato “fareinformatica” volessimo agganciarci alla login dell’utente per reindirizzarlo in un’altra pagina, andremo ad implementare l’hook “user_login” in questo modo:

/**
* Implements hook_user_login
*/
function fareinformatica_user_login(&$edit, $account) {
// reindirizza l'utente verso una pagina chiamata "pagina_di_benvenuto"
  drupal_goto("pagina_di_benvenuto"); 
}

Tags: