PluginProbe
Core Framework / trunk
Core Framework vtrunk
2.0.2 2.0.1 2.0.0 1.10.4 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.3.10 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.1.1 1.5.2 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.8.0 All 32 releases
core-framework / wp / Common / Traits / Singleton.php

Singleton.php in Core Framework trunk, at wp/Common/Traits/Singleton.php

43 lines 709 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * CoreFramework
4 *
5 * @package CoreFramework
6 * @author Core Framework <hello@coreframework.com>
7 * @copyright 2023 Core Framework
8 * @license MIT
9 * @link https://coreframework.com
10 */
11
12 declare (strict_types = 1);
13
14 namespace CoreFramework\Common\Traits;
15
16 /**
17 * The singleton skeleton trait to instantiate the class only once
18 *
19 * @package CoreFramework\Common\Traits
20 * @since 0.0.0
21 */
22 trait Singleton {
23
24 private static $instance;
25
26 private function __construct() {
27 }
28
29 private function __clone() {
30 }
31
32 public function __wakeup() {
33 }
34
35 final public static function init(): self {
36 if ( ! self::$instance ) {
37 self::$instance = new self();
38 }
39
40 return self::$instance;
41 }
42 }
43