AchievementServiceFactory   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
c 1
b 0
f 0
lcom 0
cbo 3
dl 0
loc 25
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A createService() 0 15 1
1
<?php
2
/**
3
 * AchievementServiceFactory
4
 *
5
 * @category  AxalianAchievements\Service
6
 * @package   AxalianAchievements\Service
7
 * @author    Michel Maas <[email protected]>
8
 */
9
10
namespace AxalianAchievements\ServiceFactory\Service;
11
12
use AxalianAchievements\AchievementProvider\AchievementProviderPluginManager;
13
use AxalianAchievements\Options\ModuleOptions;
14
use AxalianAchievements\Service\AchievementService;
15
use AxalianAchievements\StorageAdapter\StorageAdapterInterface;
16
use Zend\ServiceManager\FactoryInterface;
17
use Zend\ServiceManager\ServiceLocatorInterface;
18
19
class AchievementServiceFactory implements FactoryInterface
20
{
21
22
    /**
23
     * Create service
24
     *
25
     * @param ServiceLocatorInterface $serviceLocator
26
     * @return AchievementService
27
     */
28
    public function createService(ServiceLocatorInterface $serviceLocator)
29
    {
30
        /** @var AchievementProviderPluginManager $pluginManager */
31
        $pluginManager = $serviceLocator->get(
32
            'AxalianAchievements\AchievementProvider\AchievementProviderPluginManager'
33
        );
34
35
        /** @var ModuleOptions $moduleOptions */
36
        $moduleOptions = $serviceLocator->get('AxalianAchievements\Options\ModuleOptions');
37
38
        /** @var StorageAdapterInterface $storageAdapter */
39
        $storageAdapter = $serviceLocator->get($moduleOptions->getStorageAdapter());
40
41
        return new AchievementService($pluginManager, $storageAdapter);
42
    }
43
}
44