SessionFactory   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
dl 0
loc 29
rs 10
c 0
b 0
f 0
wmc 1
lcom 0
cbo 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 10 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Admin\Factory;
6
7
use Interop\Container\ContainerInterface;
8
use Zend\Session\Config\SessionConfig;
9
use Zend\Session\SessionManager;
10
11
/**
12
 * Class SessionFactory.
13
 */
14
class SessionFactory
15
{
16
    const SESSION_CONF = [
17
        'remember_me_seconds' => 2592000, //2592000, // 30 * 24 * 60 * 60 = 30 days
18
        'use_cookies'         => true,
19
        'cookie_httponly'     => true,
20
        'name'                => 'admin',
21
        'cookie_lifetime'     => 2592000,
22
        'gc_maxlifetime'      => 2592000,
23
    ];
24
25
    /**
26
     * Executed when factory is invoked.
27
     *
28
     * @param ContainerInterface $container container
29
     *
30
     * @return SessionManager
31
     */
32
    public function __invoke(ContainerInterface $container) : SessionManager
33
    {
34
        $sessionConfig = new SessionConfig();
35
        $sessionConfig->setOptions(self::SESSION_CONF);
36
37
        $session = new SessionManager($sessionConfig);
38
        $session->start();
39
40
        return $session;
41
    }
42
}
43