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 .install
tệ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ò variables
bả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_awesome
thì 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 .