Singleton   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Importance

Changes 7
Bugs 0 Features 1
Metric Value
wmc 6
eloc 5
c 7
b 0
f 1
dl 0
loc 46
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __sleep() 0 2 1
A __wakeup() 0 2 1
A getInstance() 0 7 2
A __construct() 0 2 1
A __clone() 0 2 1
1
<?php
2
3
/**
4
 * @author  : Jagepard <[email protected]>
5
 * @license https://mit-license.org/ MIT
6
 */
7
8
namespace AntiPatterns\Singleton;
9
10
final class Singleton
11
{
12
    /**
13
     * @var Singleton
14
     */
15
    private static $instance;
16
17
    /**
18
     * Gets an object instance
19
     * --------------------------
20
     * Получает экземпляр объекта
21
     * 
22
     * @return self
23
     */
24
    public static function getInstance(): self
25
    {
26
        if (!self::$instance instanceof self) {
0 ignored issues
show
introduced by
self::instance is always a sub-type of self.
Loading history...
27
            self::$instance = new self();
28
        }
29
30
        return self::$instance;
31
    }
32
33
    public function __construct()
34
    {
35
    }
36
37
    /**
38
     * @codeCoverageIgnore
39
     */
40
    public function __sleep()
41
    {
42
    }
43
44
    /**
45
     * @codeCoverageIgnore
46
     */
47
    public function __wakeup()
48
    {
49
    }
50
51
    /**
52
     * @codeCoverageIgnore
53
     */
54
    public function __clone()
55
    {
56
    }
57
}
58