Skip to content
Snippets Groups Projects
Commit f97cc91a authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Service collecteur de messages et aide de vue associée.

parent 466ce6ac
No related branches found
No related tags found
No related merge requests found
...@@ -211,6 +211,7 @@ class Module implements ...@@ -211,6 +211,7 @@ class Module implements
'formSearchAndSelect' => 'UnicaenApp\Form\View\Helper\FormSearchAndSelect', 'formSearchAndSelect' => 'UnicaenApp\Form\View\Helper\FormSearchAndSelect',
'formLdapPeople' => 'UnicaenApp\Form\View\Helper\FormLdapPeople', 'formLdapPeople' => 'UnicaenApp\Form\View\Helper\FormLdapPeople',
'formErrors' => 'UnicaenApp\Form\View\Helper\FormErrors', 'formErrors' => 'UnicaenApp\Form\View\Helper\FormErrors',
'messageCollector' => 'UnicaenApp\View\Helper\MessageCollectorHelper',
), ),
); );
} }
......
...@@ -155,6 +155,8 @@ return array( ...@@ -155,6 +155,8 @@ return array(
// Gestion des CSV // Gestion des CSV
'ViewCsvRenderer' => 'UnicaenApp\Mvc\Service\ViewCsvRendererFactory', 'ViewCsvRenderer' => 'UnicaenApp\Mvc\Service\ViewCsvRendererFactory',
'ViewCsvStrategy' => 'UnicaenApp\Mvc\Service\ViewCsvStrategyFactory', 'ViewCsvStrategy' => 'UnicaenApp\Mvc\Service\ViewCsvStrategyFactory',
'MessageCollector' => 'UnicaenApp\Service\MessageCollectorFactory',
), ),
'abstract_factories' => array( 'abstract_factories' => array(
'UnicaenApp\Service\Doctrine\MultipleDbAbstractFactory', 'UnicaenApp\Service\Doctrine\MultipleDbAbstractFactory',
......
<?php
namespace UnicaenApp\Service;
use Zend\ServiceManager\ServiceLocatorAwareInterface;
/**
* Description of MessageCollector
*
* @author Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>
*/
class MessageCollector implements ServiceLocatorAwareInterface
{
use \Zend\ServiceManager\ServiceLocatorAwareTrait;
use \UnicaenApp\Traits\MessageAwareTrait;
}
\ No newline at end of file
<?php
namespace UnicaenApp\Service;
use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
/**
*
*
* @author Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>
*/
class MessageCollectorFactory implements FactoryInterface
{
/**
* Create service
*
* @param ServiceLocatorInterface $serviceLocator
* @return Group
*/
public function createService(ServiceLocatorInterface $serviceLocator)
{
return new MessageCollector();
}
}
<?php
namespace UnicaenApp\View\Helper;
use Zend\ServiceManager\ServiceLocatorAwareInterface;
use Zend\ServiceManager\ServiceLocatorAwareTrait;
use Zend\View\Helper\AbstractHelper;
/**
* Aide de vue donnant accès au collecteur de messages.
*
* @see \UnicaenApp\Service\MessageCollector
* @author Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>
*/
class MessageCollectorHelper extends AbstractHelper implements ServiceLocatorAwareInterface
{
use ServiceLocatorAwareTrait;
/**
* Point d'entrée.
*
* @return self
*/
public function __invoke()
{
return $this;
}
/**
* Code HTML.
*
* @return string
*/
public function __toString()
{
if (! $this->getService()->hasMessages()) {
return '';
}
$messenger = clone $this->getView()->messenger(); /* @var $messenger Messenger */
return (string) $messenger->setMessages($this->getService()->getMessages());
}
/**
* Retourne le service collecteur de messages.
*
* @return \UnicaenApp\Service\MessageCollector
*/
private function getService()
{
return $this->getServiceLocator()->getServiceLocator()->get('MessageCollector');
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment