| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- /**
- * Singleton class trait.
- *
- * @package WooCommerce\Utilities
- */
- namespace Automattic\WooCommerce\RestApi\Utilities;
- /**
- * Singleton trait.
- */
- trait SingletonTrait {
- /**
- * The single instance of the class.
- *
- * @var object
- */
- protected static $instance = null;
- /**
- * Constructor
- *
- * @return void
- */
- protected function __construct() {}
- /**
- * Get class instance.
- *
- * @return object Instance.
- */
- final public static function instance() {
- if ( null === static::$instance ) {
- static::$instance = new static();
- }
- return static::$instance;
- }
- /**
- * Prevent cloning.
- */
- private function __clone() {}
- /**
- * Prevent unserializing.
- */
- final public function __wakeup() {
- wc_doing_it_wrong( __FUNCTION__, __( 'Unserializing instances of this class is forbidden.', 'woocommerce' ), '4.6' );
- die();
- }
- }
|