/** * Clear all messages except sticky * * @return $this */ public function clear() { foreach ($this->messages as $type => $messages) { foreach ($messages as $id => $message) { /** @var $message MessageInterface */ if (!$message->getIsSticky()) { unset($this->messages[$type][$id]); } } if (empty($this->messages[$type])) { unset($this->messages[$type]); } } if ($this->lastAddedMessage instanceof MessageInterface && !$this->lastAddedMessage->getIsSticky()) { $this->lastAddedMessage = null; } return $this; }