Cách tốt nhất để xóa tất cả các biến khi gỡ cài đặt mô-đun


9

Tôi đang viết một mô-đun viết một số biến (ba, bốn biến cho mỗi loại nội dung và loại khác).

Tôi nên sử dụng phương pháp nào để xóa chúng trên hook_uninstall?

Có an toàn để thực hiện một truy vấn, tìm kiếm các biến "mymodule_ *" không?

Hoặc tôi nên lặp cho các loại nội dung và tìm kiếm variabels, vì vậy hãy gọi nhiều lần biến_del?


Thay vì tạo các biến có tên cho mỗi loại nội dung, bạn có thể sử dụng (các) biến có cấu trúc có tên và khóa đã biết cho từng loại nội dung?
Chris Burgess

Câu trả lời:


10

Các biến được lưu trong bộ nhớ cache, vì vậy xóa thủ công là tốt miễn là bạn làm mất hiệu lực bộ đệm đó, vd

db_delete('variable')
  ->condition('name', 'mymodule_%', 'LIKE')
  ->execute();

cache_clear_all('variables', 'cache_bootstrap');

Truy vấn này là OK với điều kiện là không ai đã tạo ra một mô-đun nằm trong không gian tên mô-đun của bạn - ví dụ: nếu Lượt xem thực hiện điều này, nó sẽ biến các biến thuộc về các mô-đun như Lượt xem hoặc Khung nhìn MysiteCustom. Trong ví dụ này có lẽ sẽ không phải là vấn đề lớn, nhưng bạn hiểu ý tưởng :)
Chris Burgess

1

Bạn cũng có thể xem xét mô-đun Biến cho phép mô-đun của bạn sử dụng sổ đăng ký, định cấu hình các giá trị mặc định, v.v.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.