当前位置:Gxlcms > PHP教程 > php单例模式如何实现

php单例模式如何实现

时间:2021-07-01 10:21:17 帮助过:2人阅读

单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。

提示: 数据库连接池的设计一般也是采用单例模式,因为数据库连接是一种数据库资源。数据库软件系统中使用数据库连接池,主要是节省打开或者关闭数据库连接所引起的效率损耗,这种效率上的损耗还是非常昂贵的,因此用单例模式来维护,就可以大大降低这种损耗。 (推荐学习:PHP视频教程)

PHP实现单例模式有四个要点:

需要一个保存类的唯一实例的静态成员变量;

构造函数和克隆函数必须声明为私有的防止外部程序new类而失去单例模式的意义;

必须提供一个访问这个实例的公共的静态方法;

在定义类的时候用final关键字禁止继承,防止重写父类方法。

参考代码:

  1. final class Singleton {
  2. //静态变量要设置为私有,防止被修改
  3. private static $instance;
  4. //构造函数声明为私有,防止外部程序new类
  5. private function __construct() {
  6. }
  7. //克隆函数声明为私有,防止克隆对象
  8. private function __clone() {
  9. }
  10. //提供一个创建唯一实例的接口
  11. public static function getInstance() {
  12. if(!(self::$instance instanceof self)) {
  13. self::$instance = new self();
  14. }
  15. return self::$instance;
  16. }
  17. }
  18. //只能根据getInstance静态方法创建Singleton实例
  19. $ins = Singleton::getInstance()

以上就是php单例模式如何实现的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行