PluginProbe
TableKit – WordPress Table Builder for Data Tables, WooCommerce Product Tables & Post Tables / 2.2.13
TableKit – WordPress Table Builder for Data Tables, WooCommerce Product Tables & Post Tables v2.2.13
2.2.13 2.2.12 2.2.11 2.2.10 2.2.9 2.2.8 2.2.7 2.2.6 2.2.5 2.2.4 2.2.3 trunk 1.0.0 1.0.1 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.2.0 2.2.1 2.2.2
table-builder-block / includes / Traits / Singleton.php

Singleton.php in TableKit – WordPress Table Builder for Data Tables, WooCommerce Product Tables & Post Tables 2.2.13, at includes/Traits/Singleton.php

37 lines 816 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Generic singleton trait for per-class shared instances
4 *
5 * @package TableKit
6 */
7
8 namespace TableBuilder\Traits;
9
10 /**
11 * Generic singleton trait: gives any class a shared instance() accessor
12 * keyed by class name, so subclasses don't each need to reimplement it.
13 *
14 * @package TableBuilder\Traits
15 */
16 trait Singleton {
17 /**
18 * Shared instances, keyed by class name.
19 *
20 * @var array
21 */
22 private static $instances = array();
23
24 /**
25 * Gets (and lazily creates) the shared instance of the using class.
26 *
27 * @return static The shared instance.
28 */
29 public static function instance() {
30 $class = get_called_class();
31 if ( ! isset( self::$instances[ $class ] ) ) {
32 self::$instances[ $class ] = new $class();
33 }
34 return self::$instances[ $class ];
35 }
36 }
37