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 .installDatei 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 variablesTabelle 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 .