Neos\Flow\Mvc\FlashMessageContainer::getMessagesAndFlush PHP Метод

getMessagesAndFlush() публичный Метод

Get all flash messages (with given severity) currently available and remove them from the container.
public getMessagesAndFlush ( string $severity = null ) : array
$severity string severity of the messages (One of the Message::SEVERITY_* constants)
Результат array
    public function getMessagesAndFlush($severity = null)
    {
        $messages = $this->getMessages($severity);
        if (count($messages) > 0) {
            $this->flush($severity);
        }
        return $messages;
    }

Usage Example

 /**
  * @test
  */
 public function getMessagesAndFlushCanAlsoFilterBySeverity()
 {
     $messages = [0 => new FlowError\Notice('This is a test message', 1), 1 => new FlowError\Warning('This is another test message', 2)];
     $this->flashMessageContainer->addMessage($messages[0]);
     $this->flashMessageContainer->addMessage($messages[1]);
     $filteredFlashMessages = $this->flashMessageContainer->getMessagesAndFlush(FlowError\Message::SEVERITY_NOTICE);
     $this->assertEquals(count($filteredFlashMessages), 1);
     reset($filteredFlashMessages);
     $flashMessage = current($filteredFlashMessages);
     $this->assertEquals($messages[0], $flashMessage);
     $this->assertEquals([], $this->flashMessageContainer->getMessages(FlowError\Message::SEVERITY_NOTICE));
     $this->assertEquals([$messages[1]], array_values($this->flashMessageContainer->getMessages()));
 }