Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
lib
unicaen
app
Commits
3fc0be45
Commit
3fc0be45
authored
Mar 19, 2019
by
Bertrand Gauthier
Browse files
Aid de vue Messenger: injection du plugin flashMessenger par la factory.
parent
f9e45024
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/UnicaenApp/View/Helper/Messenger.php
View file @
3fc0be45
...
...
@@ -6,9 +6,8 @@ use UnicaenApp\Traits\MessageAwareInterface;
use
UnicaenApp\Traits\MessageAwareTrait
;
use
Zend\EventManager\EventManagerAwareInterface
;
use
Zend\EventManager\EventManagerAwareTrait
;
use
Zend\Mvc\Plugin\FlashMessenger\FlashMessenger
as
FlashMessengerPlugin
;
use
Zend\View\Helper\AbstractHelper
;
use
Zend\View\Helper\FlashMessenger
;
use
Zend\View\Renderer\PhpRenderer
;
/**
* Aide de vue permettant de stocker une liste de messages d'information de différentes sévérités
...
...
@@ -62,7 +61,7 @@ class Messenger extends AbstractHelper implements MessageAwareInterface, EventMa
protected
$containerClassesToAdd
=
[];
/**
* @var
\Zend\Mvc\Controller\Plugin\
FlashMessenger
* @var FlashMessenger
Plugin
*/
protected
$pluginFlashMessenger
;
...
...
@@ -524,19 +523,18 @@ EOT;
}
/**
* @
return \Zend\Mvc\Controll
er
\
Plugin
\
FlashMessenger
* @
param FlashMesseng
erPlugin
$plugin
FlashMessenger
*/
p
rotected
function
g
etPluginFlashMessenger
()
p
ublic
function
s
etPluginFlashMessenger
(
FlashMessengerPlugin
$pluginFlashMessenger
)
{
if
(
null
===
$this
->
pluginFlashMessenger
)
{
/** @var PhpRenderer $view */
$view
=
$this
->
getView
();
/* @var $vh FlashMessenger */
$vh
=
$view
->
getHelperPluginManager
()
->
get
(
'flashMessenger'
);
$this
->
pluginFlashMessenger
=
$vh
->
getPluginFlashMessenger
();
}
$this
->
pluginFlashMessenger
=
$pluginFlashMessenger
;
}
/**
* @return FlashMessengerPlugin
*/
protected
function
getPluginFlashMessenger
()
{
return
$this
->
pluginFlashMessenger
;
}
}
\ No newline at end of file
src/UnicaenApp/View/Helper/MessengerFactory.php
View file @
3fc0be45
...
...
@@ -3,30 +3,30 @@
namespace
UnicaenApp\View\Helper
;
use
Interop\Container\ContainerInterface
;
use
Zend\
Service
Manager\
Factory
Interface
;
use
Zend\
ServiceManager\ServiceLocatorInterface
;
use
Zend\
Event
Manager\
EventManager
Interface
;
use
Zend\
Mvc\Plugin\FlashMessenger\FlashMessenger
as
FlashMessengerPlugin
;
/**
* Description of MessengerFactory
*
* @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
* @author Unicaen
*/
class
MessengerFactory
implements
FactoryInterface
class
MessengerFactory
{
public
function
createService
(
ServiceLocatorInterface
$serviceLocator
)
{
return
$this
->
__invoke
(
$serviceLocator
,
'?'
);
}
public
function
__invoke
(
ContainerInterface
$container
,
$requestedName
,
array
$options
=
null
)
public
function
__invoke
(
ContainerInterface
$container
)
{
$messenger
=
new
Messenger
();
/* @var $application Application */
$application
=
$container
->
get
(
'application'
);
if
(
$application
){
$messenger
->
setEventManager
(
$application
->
getEventManager
());
}
/** @var FlashMessengerPlugin $flashMessengerPlugin */
$flashMessengerPlugin
=
$container
->
get
(
'PluginManager'
)
->
get
(
'flashMessenger'
);
$messenger
->
setPluginFlashMessenger
(
$flashMessengerPlugin
);
// /* @var $application Application */
// $application = $container->get('application');
// if ($application){
// $messenger->setEventManager($application->getEventManager());
// }
/** @var EventManagerInterface $eventManager */
$eventManager
=
$container
->
get
(
'EventManager'
);
$messenger
->
setEventManager
(
$eventManager
);
return
$messenger
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment