【设计模式】php设计模式之单例模式学习
作者: 郑晓 分类: 片言碎语 发布于: 2014-06-17 18:17 浏览:4,778 评论(2)
什么是单例模式,单例模式顾名思义,就是只有一个实例。作为对象的一种创建模式, 单例模式确保了某一个类有且只有一个实例,而且通过自身完成实例化并向整个系统提供这个实例。
一个单例模式的类,要具备以下几点要求:
1、构造函数须要标记为private(访问控制:声明为私有方法,防止外部代码直接使用new来创建对象),单例类不能在其他类中实例化,只能被其自身实例化。
2、拥有一个保存类的实例的私有静态成员变量。
3、拥有一个访问这个实例的公共的静态方法(一般常用getInstance()方法进行实例化类,或返回已经实例化的对象,通过instanceof操作符可以检测到类是否已经被实例化)
4、需要创建__clone()方法防止对象被复制(克隆),当代码中使用clone操作符进行对象克隆时会调用这个方法。
为什么使用PHP单例模式?
1. php的单例主要应用于数据库应用中, 一般在一个应用中会存在大量的数据库操作, 在使用面向对象的方式开发时, 如果使用单例模式, 则可以避免大量的new 操作消耗的资源,还可以减少数据库连接这样就不容易出现too many connections情况。
2. 如果系统中需要有一个类来全局控制某些配置信息, 那么使用单例模式可以很方便的实现。
3. 在一次页面请求中, 便于进行调试, 因为所有的代码(例如数据库操作类db)都集中在一个类中, 我们可以在类中设置钩子, 输出日志,从而避免到处的打印。。。
test();
//复制对象将导致一个E_USER_ERROR错误.
$test4 = clone $test;
?>
本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。
本文永久链接: https://www.zh30.com/she-ji-mo-shi-php-she-ji-mo-shi-zhi-dan-li.html
【设计模式】php设计模式之单例模式学习:目前有2 条留言
你好 朋友 有没有兴趣做友情链接
😎 😎 😆 学习了