for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Box\Spout\Common;
/**
* Class Singleton
* Defines a class as a singleton.
*
* @package Box\Spout\Common
*/
trait Singleton
{
protected static $instance;
* @return static
final public static function getInstance()
return isset(static::$instance)
? static::$instance
: static::$instance = new static;
}
* Singleton constructor.
final private function __construct()
$this->init();
* Initializes the singleton
* @return void
protected function init() {}
final private function __wakeup() {}
final private function __clone() {}