CacheProviderFactory.php
2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
/**
* CacheProviderFactory.php
*
* The CacheProviderFactory class file.
*
* PHP versions 5
*
* @author Alexander Schneider <alexanderschneider85@gmail.com>
* @copyright 2008-2017 Alexander Schneider
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
* @version SVN: $id$
* @link http://wordpress.org/extend/plugins/user-access-manager/
*/
declare(strict_types=1);
namespace UserAccessManager\Cache;
use UserAccessManager\Config\ConfigFactory;
use UserAccessManager\Config\ConfigParameterFactory;
use UserAccessManager\Util\Util;
use UserAccessManager\Wrapper\Php;
use UserAccessManager\Wrapper\Wordpress;
/**
* Class CacheProviderFactory
*
* @package UserAccessManager\Cache
*/
class CacheProviderFactory
{
/**
* @var Php
*/
private $php;
/**
* @var Wordpress
*/
private $wordpress;
/**
* @var Util
*/
private $util;
/**
* @var ConfigFactory
*/
private $configFactory;
/**
* @var ConfigParameterFactory
*/
private $configParameterFactory;
/**
* CacheProviderFactory constructor.
* @param Php $php
* @param Wordpress $wordpress
* @param Util $util
* @param ConfigFactory $configFactory
* @param ConfigParameterFactory $configParameterFactory
*/
public function __construct(
Php $php,
Wordpress $wordpress,
Util $util,
ConfigFactory $configFactory,
ConfigParameterFactory $configParameterFactory
) {
$this->php = $php;
$this->wordpress = $wordpress;
$this->util = $util;
$this->configFactory = $configFactory;
$this->configParameterFactory = $configParameterFactory;
}
/**
* Creates a FileSystemCacheProvider object.
* @return FileSystemCacheProvider
*/
public function createFileSystemCacheProvider(): FileSystemCacheProvider
{
return new FileSystemCacheProvider(
$this->php,
$this->wordpress,
$this->util,
$this->configFactory,
$this->configParameterFactory
);
}
}