HEX
Server: LiteSpeed
System: Linux linux31.centraldnserver.com 4.18.0-553.83.1.lve.el8.x86_64 #1 SMP Wed Nov 12 10:04:12 UTC 2025 x86_64
User: salamatk (1501)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open
Upload Files
File: /home/salamatk/.trash/woodmart1/inc/classes/class-singleton.php
<?php
/**
 * Singleton pattern class.
 *
 * @package xts
 */

namespace XTS;

/**
 * Singleton pattern class.
 *
 * @since 1.0.0
 */
class Singleton {
	/**
	 * Instance of this static object.
	 *
	 * @var array
	 */
	private static $instances = [];

	/**
	 * Get singleton instance.
	 *
	 * @since 1.0.0
	 *
	 * @return object Current object instance.
	 */
	public static function get_instance() {
		$subclass = static::class;
		if ( ! isset( self::$instances[ $subclass ] ) ) {
			self::$instances[ $subclass ] = new static();
			self::$instances[ $subclass ]->init();
		}
		return self::$instances[ $subclass ];
	}

	/**
	 * Prevent singleton class clone.
	 *
	 * @since 1.0.0
	 */
	private function __clone() {}

	/**
	 * Prevent singleton class initialization.
	 *
	 * @since 1.0.0
	 */
	private function __construct() {}
}