php 设计模式之单例模式例子

作者:袖梨 2022-06-24


1.定义

单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。

2.解决的问题/使用场景

数据库应用方面,使用单例模式,可以避免大量的new操作消耗的资源。
如果在系统中需要一个类来全局控制某些配置信息,那么使用单例模式可以很方便的实现。

3.实现单例模式的要点

需要一个保存类的唯一实例的静态成员变量。
构造函数和克隆函数必须声明为私有的,防止外部程序new类从而失去单例模式的意义。
需要提供一个访问这个实例的静态方法(一般为getInstance方法),返回实例的引用。

4.实现代码示例

conn = mysql_connect(...);

    }

 

    private function __clone()

    {

    }

 

    public static function GetInstance()

    {

        if (!(self::$instance instanceof self))

        {

            slef::$instance = new self();

        }

        return self::$instance;

    }

 

    public function GetDbConnect()

    {

        return $this->conn;

    }

 

    public function selectData($sql)

    {

        // $result mysql_query($sql,$this->conn);

        // while mysql_fetch_array($result)....

    }

}

 

$db = Singleton::GetInstance();

$db->selectData("select * from user");

相关文章

精彩推荐