PHP用单例模式实现一个数据库类
使用单例模式的出发点: 1、php 的应用主要在于数据库应用 , 所以一个应用中会存在大量的数据库操作 , 使用单例模式 , 则可以避免大量的 new 操作消耗的资源。 2、如果系统中需要有一个类来全局控制某些配置信息 , 那么使用单例模式可以很方便的实现 . 这个可以参看 ZF的 FrontController 部分。 3、在一次页面请求中 , 便于进行调试 , 因为所有的代码 ( 例如数据库操作类 db) 都集中在一个类中 , 我们可以在类中设置钩子 , 输出日志,从而避免到处 var_dump, echo 。 创造单例注意: 1、一个雷只能有一个类对象(只能实例化一个对象) 2、它必须自己创建这个实例 3、它必须自行向整个系统提供这个实例 4、构造函数和克隆函数必须声明为私有的,这是为了防止外部程序 new 类从而失去单例模式的意义 5、 getInstance()方法必须声明为公有的,必须调用此方法以返回唯一实例的一个引用 6 、拥有一个保存类的实例的静态成员变量 7、PHP的单例模式是相对而言的,因为PHP的解释运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收 8 、拥有一个访问这个实例的公共的静态方法(常用 getInstance() 方法进行实例化单例类,通过 instanceof