HEX
Server: Apache
System: Linux ebs-107629 5.10.0-14-amd64 #1 SMP Debian 5.10.113-1 (2022-04-29) x86_64
User: shredder (65669)
PHP: 8.3.8
Disabled: link,symlink
Upload Files
File: /home/wwwroot/shredder/wwwroot/wp-content/plugins/wp-table-builder/inc/admin/base/manager-base.php
<?php

namespace WP_Table_Builder\Inc\Admin\Base;

use WP_Table_Builder\Inc\Common\Traits\Singleton_Trait;

/**
 * if called directly, abort process.
 */
if ( ! defined( 'WPINC' ) ) {
	die();
}

/**
 * Manager base.
 */
abstract class Manager_Base {
	use Singleton_Trait;

	/**
	 * Class initialization status.
	 * @var bool
	 */
	public static $initialized = false;

	/**
	 * Get initialization status of a static class.
	 * @return bool initialization status
	 */
	public static final function is_initialized() {
		if ( ! static::$initialized ) {
			static::$initialized = true;

			return false;
		}

		return true;
	}

	/**
	 * Initialize.
	 */
	public static final function init( $options = [], $class = null ) {
		if ( ! static::is_initialized() ) {
			static::get_instance( $options, $class )->init_process();
		}

		static::$initialized = true;
	}

	/**
	 * Function to be called during initialization process.
	 */
	abstract protected function init_process();
}