• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-22) 32次浏览 已收录 0个评论

这篇文章主要介绍了PHP设计模式之单例模式原理与实现方法,简单介绍了单例模式的概念、功能、组成并结合实例形式分析了php定义与使用单例模式的相关操作技巧,需要的朋友可以参考下

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

一、什么是单例模式

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

二、PHP单例模式三要素

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

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

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

三、为什么使用单例模式

使用单例模

+本文来源gao!%daima.com搞$代*!码9网(

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

四、单例模式示例

这里以数据库操作为例

<?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技巧

laravel中短信发送验证码的实现方法php实例

PHP receiveMail实现收邮件功能php实例

以上就是PHP设计模式之单例模式原理与实现方法分析php技巧的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP设计模式之单例模式原理与实现方法分析php技巧

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址