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?


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');

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.