<?php

namespace ParcelPanel\CmsPlus\Trait;

trait SingletonTrait
{
    private static $instance;

    private function __construct()
    {
        // 私有构造函数，防止外部直接实例化
    }

    public static function getInstance()
    {
        if (null === self::$instance) {
            self::$instance = new self();
        }

        return self::$instance;
    }

    // 防止对象被克隆
    private function __clone()
    {
    }

    // 防止被序列化
    public function __wakeup()
    {
    }
}
