请用 PHP代码编写一个单例类

2025-02-25 08:42:14
推荐回答(1个)
回答1:

编写单例是PHP比较日常的事情,如:


abstract class Singleton
{
    protected static $instance = array();

    abstract protected function __construct();

    public static function getInstance()
    {
        $class = get_called_class();
        if (!isset(self::$instance[$class])) {
            self::$instance[$class] = new $class();
        }
        return self::$instance[$class];
    }
}

class MysqlAdapter extends Singleton
{

    protected $connection = 0;

    protected function __construct()
    {
        $this->connection++;
    }

    public function getConnection()
    {
        return $this->connection;
    }

    public function setConnection()
    {
        return $this->connection++;
    }
}

$instance = MysqlAdapter::getInstance();
echo $instance->getConnection() . "
";
echo $instance->getConnection() . "
";
echo $instance->getConnection() . "
";