Der beste Weg, um alle Variablen bei der Deinstallation des Moduls zu löschen

9

Ich schreibe ein Modul, das mehrere Variablen schreibt (drei, vier Variablen für jeden Inhaltstyp und andere).

Mit welcher Methode kann ich sie bei hook_uninstall löschen?

Ist es sicher, eine Abfrage durchzuführen und nach "mymodule_ *" - Variablen zu suchen?

Oder sollte ich nach Inhaltstypen suchen und nach Variablen suchen, also mehrmals variable_del aufrufen?

arrubiu
quelle
Anstatt Variablen zu erstellen, die nach Inhaltstyp benannt sind, können Sie eine strukturierte Variable verwenden, die einen bekannten Namen und Schlüssel für jeden Inhaltstyp hat.
Chris Burgess

Antworten:

10

Variablen werden zwischengespeichert, daher ist das manuelle Löschen in Ordnung, solange Sie diesen Cache ungültig machen, z

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

cache_clear_all('variables', 'cache_bootstrap');
Clive
quelle
Diese Abfrage ist in Ordnung, vorausgesetzt, niemand hat ein Modul erstellt, das sich in Ihrem Modul-Namespace befindet. Wenn Views dies tun würde, würden Variablen, die zu Modulen wie Views Block oder Views MysiteCustom gehören, vape. Für dieses Beispiel wäre das wahrscheinlich kein großes Problem, aber Sie bekommen die Idee :)
Chris Burgess
1

Sie können sich auch das Variablenmodul ansehen , mit dem Ihr Modul eine Registrierung verwenden, Standardwerte konfigurieren usw. kann.

Chris Burgess
quelle