Câu trả lời:
Theo dõi các biến của bạn và thêm các variable_del()cuộc gọi phù hợp trong quá trình thực hiện hook_uninstall():
function foo_uninstall() {
variable_del('foo_variable1');
variable_del('foo_variable2');
}
Như hook_uninstall()là một hook cài đặt, nó cần nằm trong .installtệp của mô-đun của bạn (ví dụ foo.install).
Bạn không nên xóa tất cả các biến có tiền tố với tên mô-đun của mình vì các xung đột không gian tên sẽ quay lại cắn bạn. Ví dụ: nếu tên mô-đun của bạn là foo, bạn có thể nghĩ rằng bạn chỉ nên thăm dò variablesbảng cho tất cả các biến có tiền tố foo_. Nhưng nếu tôi viết một mô-đun có tên foo_awesomethì sao? Bạn cũng sẽ xóa các biến của tôi. Điều đó sẽ không tốt
CẬP NHẬT: Khi tiếp tục đào sâu thảo luận về bài đăng trên blog này , tôi đã xem qua ý tưởng này từ Dave Reid để áp dụng phương pháp mà lõi Drupal sử dụng .
hook_variables()) không phải là cách thức cốt lõi: đó là cách anh ấy thực hiện nó trong một số mô-đun của chính mình. Trong Drupal 8, vấn đề này có thể được giải quyết bằng việc bổ sung hook_variable_info()móc lõi .