Antworten:
Behalten Sie Ihre Variablen im Auge und fügen Sie geeignete variable_del()
Aufrufe innerhalb einer Implementierung von hook_uninstall()
:
function foo_uninstall() {
variable_del('foo_variable1');
variable_del('foo_variable2');
}
Wie hook_uninstall()
ein Installations-Hook muss er sich in der .install
Datei Ihres Moduls befinden (z foo.install
. B. ).
Sie sollten nicht alle Variablen löschen, denen der Name Ihres Moduls vorangestellt ist, da Namespace-Kollisionen zurückkehren und Sie beißen. Wenn der Name Ihres Moduls beispielsweise lautet foo
, sollten Sie die variables
Tabelle nur nach allen Variablen mit Präfix abfragen foo_
. Aber was ist, wenn ich ein Modul mit dem Namen schreibe foo_awesome
? Sie würden auch meine Variablen löschen. Das wäre nicht schön.
UPDATE: Als ich die Diskussion in diesem Blog-Beitrag weiter durchgesehen habe , bin ich auf diese Idee von Dave Reid gestoßen, um die Methode zu übernehmen, die Drupal Core verwendet .
hook_variables()
), ist nicht die Kernmethode: So macht er es in einigen seiner eigenen Module. In Drupal 8 kann dieses Problem durch Hinzufügen eines hook_variable_info()
Kernhakens gelöst werden .