모듈을 제거 할 때 모든 변수를 삭제하는 가장 좋은 방법


9

여러 변수 (모든 콘텐츠 유형에 대해 3, 4 개의 변수 등)를 작성하는 모듈을 작성 중입니다.

hook_uninstall에서 어떤 방법을 삭제해야합니까?

"mymodule_ *"변수를 검색하여 쿼리를 수행하는 것이 안전합니까?

또는 콘텐츠 유형과 검색 변수를 반복해야하므로 variable_del을 여러 번 호출합니까?


컨텐츠 유형별로 이름이 지정된 변수를 작성하는 대신 각 컨텐츠 유형에 대해 알려진 이름과 키가있는 구조화 된 변수를 사용할 수 있습니까?
Chris Burgess

답변:


10

변수가 캐시되므로 캐시를 무효화하는 한 수동 삭제는 좋습니다 (예 :

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

cache_clear_all('variables', 'cache_bootstrap');

이 쿼리는 아무도 모듈 네임 스페이스 내에있는 모듈을 만들지 않았다면 가능합니다. 예를 들어, Views가이를 수행하면 Views Block 또는 Views MysiteCustom과 같은 모듈에 속하는 변수를 vape로 만들 수 있습니다. 이 예를 들어 아마 큰 문제가되지 않을 것이다, 그러나 당신은 아이디어 :) 얻을
크리스 버지스

1

모듈이 레지스트리를 사용하고 기본값을 구성하는 등을 할 수 있는 변수 모듈을 살펴볼 수도 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.