php中使用trait设计单例

trait Singleton
{
    private static $instace = null;

    private function __construct()
    {
    }

    private function __clone()
    {
    }
    
    public static function getInstace(...$args)
    {
        if (self::$instace instanceof self) {

        } else {
            self::$instace = new static(...$args);
        }
        return self::$instace;
    }
}

然后在需要用到单例的地方use使用

class Config
{
    use Singleton;
    private $config;

    public function get($key)
    {
        
    }
}


// 获取Config实例,Config是个单例的
$config = Config::getInstace();