Это будет совсем маленькая заметка. Цель: сбросить кэш всех методов класса.
Идея состоит в том, что класс будет иметь собственную папку с тэгированным кэшем, а папки методов будут подпапками. Например класс iBlockData имеет методы getIBlocksCodeIDMap , getIBlocksData , getIBlocksIDNameMap . Каждый метод заводит свой $cache_path: '/iBlockData/getIBlocksCodeIDMap' , '/iBlockData/getIBlocksData' , '/iBlockData/getIBlocksIDNameMap' . И в каждом методе на свою папку навешан тэг (помимо штатного iblock_id_): $CACHE_MANAGER->RegisterTag("getIBlocksCodeIDMap"); $CACHE_MANAGER->RegisterTag("getIBlocksData"); $CACHE_MANAGER->RegisterTag("getIBlocksIDNameMap");
и ещё один тэг у всех трёх методов: $CACHE_MANAGER->RegisterTag("iBlockData");
Теперь, если нам понадобится уронить кэш сразу всех трёх методов мы можем сделать либо так $CACHE_MANAGER->ClearByTag("iBlockData"); , либо так Cache::cleanDir("/iBlockData");
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».