From ec64a0f1e2ed23a9f96b4b3ad7b42c67a511b00a Mon Sep 17 00:00:00 2001
From: David Surville <david.surville@unicaen.fr>
Date: Wed, 15 May 2019 14:10:17 +0200
Subject: [PATCH] =?UTF-8?q?Passage=20=C3=A0=20ZF3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Mvc/Service/ViewKsupStrategyFactory.php   | 20 ++++++++++++----
 .../Service/KsupServiceFactory.php            | 24 ++++++++++++++-----
 2 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/src/UnicaenKsup/Mvc/Service/ViewKsupStrategyFactory.php b/src/UnicaenKsup/Mvc/Service/ViewKsupStrategyFactory.php
index 3bf78bc..fd9d8eb 100644
--- a/src/UnicaenKsup/Mvc/Service/ViewKsupStrategyFactory.php
+++ b/src/UnicaenKsup/Mvc/Service/ViewKsupStrategyFactory.php
@@ -3,6 +3,7 @@
 namespace UnicaenKsup\Mvc\Service;
 
 use Application\View\Renderer\PhpRenderer;
+use Interop\Container\ContainerInterface;
 use UnicaenKsup\Service\KsupService;
 use Zend\ServiceManager\FactoryInterface;
 use Zend\ServiceManager\ServiceLocatorInterface;
@@ -11,16 +12,27 @@ use UnicaenKsup\View\Strategy\KsupStrategy;
 class ViewKsupStrategyFactory implements FactoryInterface
 {
 
-    public function createService(ServiceLocatorInterface $serviceLocator)
+    /**
+     * @param ContainerInterface $container
+     * @param string $requestedName
+     * @param array|null $options
+     * @return object|KsupStrategy
+     */
+    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
     {
         /** @var PhpRenderer $renderer */
-        $renderer = $serviceLocator->get('ViewRenderer');
+        $renderer = $container->get('ViewRenderer');
 
         /** @var KsupService $service */
-        $service = $serviceLocator->get('ksup');
+        $service = $container->get('ksup');
 
         $strategy = new KsupStrategy($renderer);
         $strategy->setServiceKsup($service);
         return $strategy;
     }
-}
+
+    public function createService(ServiceLocatorInterface $container)
+    {
+        return $this($container, KsupStrategy::class);
+    }
+}
\ No newline at end of file
diff --git a/src/UnicaenKsup/Service/KsupServiceFactory.php b/src/UnicaenKsup/Service/KsupServiceFactory.php
index 90b0cca..6a317c8 100644
--- a/src/UnicaenKsup/Service/KsupServiceFactory.php
+++ b/src/UnicaenKsup/Service/KsupServiceFactory.php
@@ -2,29 +2,41 @@
 
 namespace UnicaenKsup\Service;
 
+use Interop\Container\ContainerInterface;
+use UnicaenKsup\View\Strategy\KsupStrategy;
 use Zend\ServiceManager\FactoryInterface;
 use Zend\ServiceManager\ServiceLocatorInterface;
 use Zend\View\Helper\BasePath;
 
 class KsupServiceFactory implements FactoryInterface
 {
-
-    public function createService(ServiceLocatorInterface $serviceLocator)
+    /**
+     * @param ContainerInterface $container
+     * @param string $requestedName
+     * @param array|null $options
+     * @return object|KsupService
+     */
+    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
     {
         $service = new KsupService();
 
-        $config = $serviceLocator->get('config');
-        if (isset($config['unicaen-ksup'])){
+        $config = $container->get('config');
+        if (isset($config['unicaen-ksup'])) {
             $config = $config['unicaen-ksup'];
-        }else{
+        } else {
             $config = [];
         }
         $service->setConfig($config);
 
         /** @var BasePath $basePath */
-        $basePath = $serviceLocator->get('viewHelperManager')->get('basePath');
+        $basePath = $container->get('ViewHelperManager')->get('basePath');
         $service->setBasePath($basePath);
 
         return $service;
     }
+
+    public function createService(ServiceLocatorInterface $container)
+    {
+        return $this($container, KsupService::class);
+    }
 }
-- 
GitLab