gpt4 book ai didi

PHP设计模式之单例模式原理与实现方法分析

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP设计模式之单例模式原理与实现方法分析由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了PHP设计模式之单例模式原理与实现方法。分享给大家供大家参考,具体如下:

1、什么是单例模式 。

作为对象的创建模式,单例模式确保某一个类只有一个实例,并且对外提供这个全局实例的访问入口。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用.

2、PHP单例模式三要素 。

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

2. 构造函数和克隆函数必须声明为私有的,防止外部程序创建或复制实例副本.

3. 必须提供一个访问这个实例的公共静态方法,从而返回唯一实例的一个引用.

3、为什么使用单例模式 。

使用单例模式的好处很大,以数据库操作为例。若不采用单例模式,当程序中出现大量数据库操作时,每次都要执行new操作,每次都会消耗大量的内存资源和系统资源,而且每次打开和关闭数据库连接都是对数据库的一种极大考验和浪费。使用了单例模式,只需要实例化一次,不需要每次都执行new操作,极大降低了资源的耗费.

4、单例模式示例 。

这里以数据库操作为例 。

<?php/***  单例模式**/class Db{  //保存全局实例  private static $instance;  //数据库连接句柄  private $db;  //数据库连接参数  const HOSTNAME = "127.0.0.1";  const USERNAME = "root";  const PASSWORD = "root";  const DBNAME = "testdb";  //私有化构造函数,防止外界实例化对象  private function __construct()  {    $this->db = mysqli_connect(self::HOSTNAME,self::USERNAME,      self::PASSWORD,self::DBNAME);  }  //私有化克隆函数,防止外界克隆对象  private function __clone()  {  }  //单例访问统一入口  public static function getInstance()  {    if(!(self::$instance instanceof self))    {      self::$instance = new self();    }    return self::$instance;  }  //数据库查询操作  public function getinfo()  {    $sql = "select * from testtb";    $res = mysqli_query($this->db,$sql);    while($row = mysqli_fetch_array($res)) {      echo $row['testcol'] . '<br />';    }    mysqli_free_result($res);  }}$mysqli = Db::getInstance();$mysqli->getinfo();?>

希望本文所述对大家PHP程序设计有所帮助.

最后此篇关于PHP设计模式之单例模式原理与实现方法分析的文章就讲到这里了,如果你想了解更多关于PHP设计模式之单例模式原理与实现方法分析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com