/** * Flash Messenger View Helper * @return string */ public function __invoke($namespace = null) { $flashMessenger = new \Zend\Mvc\Controller\Plugin\FlashMessenger(); $messageString = ''; $namespaces = $this->namespaces; if (!is_null($namespace)) { // Allow an array or single if (!is_array($namespace)) { $namespaces = array($namespace); } else { $namespaces = $namespace; } } foreach ($namespaces as $ns) { $flashMessenger->setNamespace($ns); $messages = array_merge($flashMessenger->getMessages(), $flashMessenger->getCurrentMessages()); if (empty($messages)) { continue; } $viewModel = new ViewModel(array('namespace' => $ns, 'messages' => implode('<br />', $messages))); $viewModel->setTemplate('flash-messenger/' . $ns); $messageString .= $this->getRenderer()->render($viewModel); } return $messageString; }