/** * Remove items matching given tags. * * If $disjunction only one of the given tags must match * else all given tags must match. * * @param string[] $tags * @param bool $disjunction * @return bool */ public function clearByTags(array $tags, $disjunction = false) { if (!$disjunction) { throw new InvalidArgumentException('Only $disjunction = true is supported'); } $tagsTimes = []; $now = time(); foreach ($tags as $tag) { $tagsTimes[$this->tagKey($tag)] = $now; } parent::setItems($tagsTimes); return true; }