Plugin::instance()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 5
nc 2
nop 0
dl 0
loc 9
rs 9.6666
c 0
b 0
f 0
1
<?php
2
3
namespace Garden;
4
5
abstract class Plugin {
6
    /// Properties ///
7
8
    /**
9
     *
10
     * @var array The singleton instances of the plugin subclasses.
11
     */
12
    protected static $instances;
13
14
    /// Methods ///
15
16
    public static function instance() {
17
        $class_name = get_called_class();
18
19
        if (!isset(self::$instances[$class_name])) {
20
            self::$instances[$class_name] = new $class_name();
21
        }
22
        return self::$instances[$class_name];
23
24
    }
25
}
26
27