Il modo migliore per eliminare tutte le variabili durante la disinstallazione del modulo


9

Sto scrivendo un modulo che scrive diverse variabili (tre, quattro variabili per ogni tipo di contenuto e altro).

Quale metodo devo usare per eliminarli su hook_uninstall?

È sicuro eseguire una query, cercando le variabili "mymodule_ *"?

O dovrei eseguire il ciclo per tipi di contenuto e variabili di ricerca, quindi chiamare più volte variabile_del?


Invece di creare variabili denominate per tipo di contenuto, potresti usare una o più variabili strutturate che hanno un nome e delle chiavi conosciute per ciascun tipo di contenuto?
Chris Burgess,

Risposte:


10

Le variabili vengono memorizzate nella cache, quindi l'eliminazione manuale va bene fintanto che invalidi quella cache, ad es

db_delete('variable')
  ->condition('name', 'mymodule_%', 'LIKE')
  ->execute();

cache_clear_all('variables', 'cache_bootstrap');

Questa query è OK a condizione che nessuno abbia creato un modulo che si trova all'interno del tuo spazio dei nomi del modulo, ad esempio se Views lo facesse, svuoterebbe le variabili appartenenti a moduli come Views Block o Views MysiteCustom. Per questo esempio che probabilmente non sarebbe un grosso problema, ma hai avuto l'idea :)
Chris Burgess,

1

È inoltre possibile esaminare il modulo Variabile che consente al modulo di utilizzare un registro, configurare i valori predefiniti e così via.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.