PluginProbe ʕ •ᴥ•ʔ
CommerceBird – AI Command Center, ERP Integrations & B2B for WooCommerce (Zoho, Exact Online). / 2.3.2
CommerceBird – AI Command Center, ERP Integrations & B2B for WooCommerce (Zoho, Exact Online). v2.3.2
3.0.3 3.0.2 3.0.1 trunk 2.2.14 2.2.15 2.2.16 2.2.17 2.2.18 2.2.19 2.3.0 2.3.1 2.3.10 2.3.11 2.3.12 2.3.13 2.3.14 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.7.91 2.7.92 2.7.93 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.9.0 2.9.1 2.9.2 2.9.3 3.0.0
commercebird / admin / includes / Traits / Singleton.php
commercebird / admin / includes / Traits Last commit date
AjaxRequest.php 1 year ago LogWriter.php 1 year ago OptionStatus.php 1 year ago Singleton.php 1 year ago index.php 1 year ago
Singleton.php
58 lines
1 <?php
2
3 namespace CommerceBird\Admin\Traits;
4
5 use Exception;
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit;
9 }
10
11 trait Singleton {
12 /**
13 * The single instance of the class.
14 *
15 * @var object
16 */
17 protected static ?self $instance = null;
18
19 /**
20 * Constructor
21 *
22 * @return void
23 */
24 protected function __construct() {
25 }
26
27 /**
28 * Get class instance.
29 *
30 * @return object Instance.
31 */
32 final public static function instance(): self {
33 if ( null === static::$instance ) {
34 static::$instance = new static();
35 }
36
37 return static::$instance;
38 }
39
40 /**
41 * Prevent unserializing.
42 *
43 * @throws Exception
44 */
45 final public function __wakeup() {
46 throw new Exception( 'Serializing instances of this class is forbidden' );
47 }
48
49 /**
50 * Prevent cloning.
51 *
52 * @throws Exception
53 */
54 private function __clone() {
55 throw new Exception( 'Serializing instances of this class is forbidden' );
56 }
57 }
58