listeners[] = $events->attach('setItem.post', $callback, $priority); $this->listeners[] = $events->attach('setItems.post', $callback, $priority); $this->listeners[] = $events->attach('addItem.post', $callback, $priority); $this->listeners[] = $events->attach('addItems.post', $callback, $priority); } /** * Clear expired items by factor after writing new item(s) * * @param PostEvent $event * @return void */ public function clearExpiredByFactor(PostEvent $event) { $storage = $event->getStorage(); if (!($storage instanceof ClearExpiredInterface)) { return; } $factor = $this->getOptions()->getClearingFactor(); if ($factor && mt_rand(1, $factor) == 1) { $storage->clearExpired(); } } }