44 lines
879 B
PHP
44 lines
879 B
PHP
<?php
|
||
namespace Imagify\Traits;
|
||
|
||
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
||
|
||
/**
|
||
* Trait that simulates a singleton pattern.
|
||
* The idea is more to ease the instance retrieval than to prevent multiple instances.
|
||
* This is temporary, until we get a DI container.
|
||
*
|
||
* @since 1.9
|
||
* @since 1.9.4 Renamed into InstanceGetterTrait.
|
||
* @author Grégory Viguier
|
||
*/
|
||
trait InstanceGetterTrait {
|
||
|
||
/**
|
||
* The "not-so-single" instance of the class.
|
||
*
|
||
* @var object
|
||
* @since 1.9
|
||
* @access protected
|
||
* @author Grégory Viguier
|
||
*/
|
||
protected static $instance;
|
||
|
||
/**
|
||
* Get the main Instance.
|
||
*
|
||
* @since 1.9
|
||
* @access protected
|
||
* @author Grégory Viguier
|
||
*
|
||
* @return object Main instance.
|
||
*/
|
||
public static function get_instance() {
|
||
if ( ! isset( static::$instance ) ) {
|
||
static::$instance = new static();
|
||
}
|
||
|
||
return static::$instance;
|
||
}
|
||
}
|