HasAdaptersTrait::getDefaultDriver()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 0
cts 1
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
3
namespace Nip\Cache\CacheManager;
4
5
use InvalidArgumentException;
6
use Nip\Cache\Adapters\FileAdapter\FileAdapter;
0 ignored issues
show
Bug introduced by
The type Nip\Cache\Adapters\FileAdapter\FileAdapter was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
7
use Symfony\Component\Cache\Adapter\AbstractAdapter;
8
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
9
10
/**
11
 * Trait HasDriversTrait
12
 * @package Nip\Cache\Traits
13
 */
14
trait HasAdaptersTrait
15
{
16
    /**
17
     * @return string
18
     */
19
    public function getDefaultDriver()
20
    {
21
        return 'file';
22
    }
23
24
    /**
25
     * @param $name
26
     * @param $config
27
     * @return AbstractAdapter
28
     */
29
    public function createDriver($name, $config = [])
30 3
    {
31
        $driverMethod = 'create' . ucfirst($name) . 'Driver';
32 3
        if (method_exists($this, $driverMethod)) {
33 3
            return $this->{$driverMethod}($config);
34 3
        } else {
35
            throw new InvalidArgumentException("Driver [{$name}] is not supported.");
36
        }
37
    }
38
39
    /**
40
     * Create an instance of the php file cache driver.
41
     *
42
     * @param array $config
43
     * @return FilesystemAdapter
44
     */
45
    protected function createFileDriver(array $config)
46 3
    {
47
        $namespace = '';
48 3
        $defaultLifetime = 0;
49 3
        $directory = isset($config['path']) ? $config['path'] : cache_path();
50 3
51
        return new FilesystemAdapter($namespace, $defaultLifetime, $directory);
52 3
    }
53
}
54