for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
/**
* @author : Korotkov Danila <[email protected]>
* @license https://mit-license.org/ MIT
*/
namespace AntiPatterns\SingletonsPool;
* Class SingletonsPool
* @package AntiPatterns\SingletonsPool
final class SingletonsPool
{
* @var array
protected static $instances = [];
* @param string $instanceName
* @return mixed
public static function getInstance(string $instanceName): self
if (!array_key_exists($instanceName, static::$instances)){
static::$instances[$instanceName] = new static;
}
return static::$instances[$instanceName];
public function __construct()
* @codeCoverageIgnore
public function __sleep()
public function __wakeup()
public function __clone()