HEX
Server: Apache/2.4.41
System: Linux mainweb 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64
User: nationalmedicaregrp (1119)
PHP: 8.3.7
Disabled: exec,passthru,shell_exec,system,popen,proc_open,pcntl_exec
Upload Files
File: /home/commandorestoration/public_html/wp-content/plugins/gtm-kit/src/Options/OptionsFactory.php
<?php
/**
 * GTM Kit plugin file.
 *
 * @package GTM Kit
 */

namespace TLA_Media\GTM_Kit\Options;

/**
 * Options Factory
 *
 * Manages Options instance creation and singleton.
 */
final class OptionsFactory {

	/**
	 * Singleton instance
	 *
	 * @var Options|null
	 */
	private static ?Options $instance = null;

	/**
	 * Get a singleton instance
	 *
	 * @return Options
	 */
	public static function get_instance(): Options {
		if ( ! self::$instance ) {
			self::$instance = new Options();
		}

		return self::$instance;
	}

	/**
	 * Create a new instance (for testing)
	 *
	 * @return Options
	 */
	public static function create(): Options {
		return new Options();
	}

	/**
	 * Reset singleton (for testing)
	 *
	 * @return void
	 */
	public static function reset(): void {
		self::$instance = null;
	}
}