# ultimate-store-kit/3.1.0/base/singleton.php

Ultimate Store Kit, version 3.1.0. 34 lines.

- Page: https://pluginprobe.com/plugins/ultimate-store-kit/3.1.0/code/base/singleton.php
- Raw: https://pluginprobe.com/plugins/ultimate-store-kit/3.1.0/raw/base/singleton.php
- Modified: 2026-08-17T09:34:16+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/ultimate-store-kit/3.1.0/code/base/singleton.php#L10-L20`.

```php
<?php

namespace UltimateStoreKit\Base;

if (!defined('ABSPATH')) {
	exit; // Exit if accessed directly.
}


trait Singleton {

	private static $instance;

	public static function instance() {
		if (!self::$instance) {
			self::$instance = new self();
		}

		return self::$instance;
	}

	public static function get_instance() {
		return self::instance();
	}

	public function __clone() {
		_doing_it_wrong(__FUNCTION__, esc_html__('Cheatin&#8217; huh?', 'ultimate-store-kit'), '1.0.0');
	}

	public function __wakeup() {
		_doing_it_wrong(__FUNCTION__, esc_html__('Cheatin&#8217; huh?', 'ultimate-store-kit'), '1.0.0');
	}
}

```
