aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Singleton.php
blob: 23b2e78d869ca04a344c5549476cf8b35f9b6a2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
namespace Digitigrade;

abstract class Singleton {
    private static array $instances;
    protected function __construct() {
    }
    /**
     * @return static the singleton instance
     */
    public static function getInstance() {
        if (!isset(self::$instances[static::class])) {
            //error_log('making a new ' . static::class);
            self::$instances[static::class] = new static();
        }
        return self::$instances[static::class];
    }
}