Passed
Pull Request — 2.6 (#7716)
by
unknown
06:15
created

CacheSetupException   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 2
eloc 12
c 2
b 0
f 0
dl 0
loc 20
ccs 0
cts 14
cp 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A autoSetupFailed() 0 14 2
1
<?php
2
/*
3
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
4
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
5
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
6
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
7
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
8
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
10
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
11
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
12
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
13
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14
 *
15
 * This software consists of voluntary contributions made by many individuals
16
 * and is licensed under the MIT license. For more information, see
17
 * <http://www.doctrine-project.org>.
18
 */
19
20
namespace Doctrine\ORM\Tools;
21
22
use Doctrine\ORM\ORMException;
23
use Throwable;
24
25
/**
26
 * A custom exception for handling failures during cache configuration from Doctrine\ORM\Tools\Setup
27
 *
28
 * @link    www.doctrine-project.org
29
 * @since   2.0
30
 * @author Paul Court <[email protected]>
31
 */
32
class CacheSetupException extends ORMException
33
{
34
    /**
35
     * @param Throwable|null $previous
36
     * @return CacheSetupException
37
     */
38
    public static function autoSetupFailed(Throwable $previous = null)
39
    {
40
        $code = 0;
41
        if ($previous !== null) {
42
            $code = $previous->getCode();
43
        }
44
        return new self(''
45
            . 'An attempt to automatically create a cache instance failed! - The most '
46
            . 'likely cause is the presence of a supported extension (apcu, memcached or '
47
            . 'redis) but no matching service running locally on 127.0.0.1. The best way'
48
            . 'to fix this is to manually create a cache instance and pass it to the '
49
            . 'Doctrine\ORM\Tools\Setup method that you are trying to use.',
50
            $code,
51
            $previous
52
            );
53
    }
54
}
55