CacheServerFactory::__invoke()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 8
nc 2
nop 1
dl 0
loc 13
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace PhpCache\CacheServer;
4
5
use PhpCache\CacheEventListener\CacheEventListenerInterface;
6
use PhpCache\IO\CacheIOHandler;
7
use PhpCache\Storage\Bucket;
8
use PhpCache\Storage\Maintainer;
9
use Psr\Container\ContainerInterface;
10
11
/**
12
 * Description of CacheServerFactory.
13
 *
14
 * @author dude920228
15
 */
16
class CacheServerFactory
17
{
18
    public function __invoke(ContainerInterface $container)
19
    {
20
        $ioHandler = $container->get(CacheIOHandler::class);
21
        /* @var $bucket Bucket */
22
        $bucket = $container->get(Bucket::class);
23
        $actionHandler = $container->get(ActionHandler::class);
24
        $maintainer = $container->get(Maintainer::class);
25
        $eventListener = null;
26
        if ($container->has(CacheEventListenerInterface::class)) {
27
            $eventListener = $container->get(CacheEventListenerInterface::class);
28
        }
29
30
        return new CacheServer($ioHandler, $bucket, $actionHandler, $maintainer, $eventListener);
31
    }
32
}
33