`
mywebcode
  • 浏览: 994674 次
文章分类
社区版块
存档分类
最新评论

PHP构造单例模式浅谈

 
阅读更多

微笑简单说一下单例模式的用途,刚开始俺也认为单例模式特别的别扭和鸡肋。

在WEB程序开发中砸门要大量的使用数据库的链接,如果砸门反复的与数据库进行链接那么就会浪费大量的系统资源,发火浪费就是犯罪,所以我们就要用的单例模式了。那我们该如果解决只进行一次的数据库链接,如何判断现在是否链接和当前需要执行数据库链接操作么?

下面砸门就一一道来。

==============》废话不多说,代码分析走你《==============

<?php
header('content-type:text/html;charset=utf-8');
<?php
class A{
//首先产生一个静态属性,用来存放后面实例化的对象,因为我们的目的就是要只产生一个实例
//化对象的,我们可以再后面判断$link的值是否存在不为空,如果为空,那么就可以实例化一次
//对象了,如果不为空,那么我们就让他原样返回就可以了,这样就一直只产生一个实例化对象了。
	private static $link = null;
	//用构造函数私有化 来禁止通过类来实例化对象。
	private function __construct() {
}
//通过静态方法,来不用实例化对象就可以直接调用这个静态方法,我们在静态方法中让他产生一
//一个实例化对象。就像你把门锁住,从窗户进家里一样。
static function getClassA(){
	if (null == self::$link) {
	self::$link = new A();
	}
	return self::$link;
}
}//下面是判断是否是同一个对象
$a1 = A::getClassA();
$a2 = A::getClassA();
echo "\$a1的类是" . get_class($a1) . ", \$a2是" . get_class($a2);
if ($a1 === $a2) {
echo "<br />\$a1 \$a2 指向同一个对象。";
} else {
echo "<br />\$a1 \$a2 不是同一个对象。";
}
?>


分享到:
评论

相关推荐

    php单例模式和工厂模式

    php单例模式php单例模式php单例模式php单例模式

    php单例模式实例

    如果说php是一门面向对象编程的话,那么设计模式就是它的灵魂,其中单例模式就是设计模式的重中之重了,分享鄙人一直用的单例模式。

    PHP单例模式访问数据库

    PHP单例模式访问数据库 php 单例模式 数据库 设计模式

    php使用单例模式实现mysql类

    一个php使用单例模式实现mysql类,封装mysql操作类,包括连接功能,及查询功能,封装getAll,getRow,getOne,afftect_rows()方法。

    PHP 单例模式解析和实战

    PHP 单例模式解析和实战 PHP 单例模式解析和实战 PHP 单例模式解析和实战

    OOP单例模式和工厂模式

    模式就像是OOP开发人员的配方,每种模式都提供了所需的成分。模式对OOP开发人员尤其有用,因为它有助于创建稳定的API,...本章将介绍两种常用的模式:单例模式和工厂模式。前者被称为类的职责,后者被称为类的多态性。

    php基于单例模式编写PDO类

    引入了单例模式来保证在全局调用中不会重复实例化这个类,降低系统资源的浪费,一个对象...php的应用主要在于数据库应用, 所以一个应用中会存在大量的数据库操作, 使用单例模式, 则可以避免大量的new 操作消耗的资源。

    php使用单例模式实现mysql类.zip

    分享一个php使用单例模式实现mysql类,封装mysql操作类,包括连接功能,及查询功能,封装getAll,getRow,getOne,afftect_rows()方法。

    设计模式之PHP项目应用——单例模式设计Memcache和Redis操作类源码

    1)程序功能:单例模式设计Memcache和Redis操作类,采用PHP编写。 2)程序详解地址:http://blog.csdn.net/clevercode/article/details/46410055。 3)原创作品,出自"CleverCode的博客",分类为《设计模式之PHP项目...

    php基于单例模式封装mysql类.zip

    介绍了php基于单例模式封装mysql类,结合完整实例形式分析了php使用单例模式封装的mysql类定义与使用方法 掌握满足单例模式的必要条件 (1)私有的构造方法-为了防止在类外使用new关键字实例化...

    php基于单例模式封装mysql类

    介绍了php基于单例模式封装mysql类,结合完整实例形式分析了php使用单例模式封装的mysql类定义与使用方法 掌握满足单例模式的必要条件 (1)私有的构造方法-为了防止在类外使用new关键字实例化对象 (2)私有的成员属性...

    为什么要使用PHP单例模式及应用实例.docx

    为什么要使用PHP单例模式及应用实例.docx为什么要使用PHP单例模式及应用实例.docx

    单例模式PHP实现代码类.zip

    介绍一个单例模式PHP实现代码类,getInstance()方法必须设置为公有的,必须调用此方法,对象方法不能访问普通的对象属性,所以$_instance需要设为静态的

    php+mysql+jqury+ajax+mvc+单例模式事例

    简单MVC模式结构,php,包括ajax,单例模式,适合php初级开发者学习 如有问题,

    PHP单例设计模式,连接多数据库源码

    PHP单例设计模式,连接多数据库源码 单例模式的三个特点 1: 一个类只能有一个实例 2: 它保修自行创建这个实例 3: 必须自行向整个系统提供这个实例. 单例模式中主要的角色 Singleton定义一个Instance操作,允许客户...

    PHP单例模式是什么 php实现单例模式的方法

    一、什么是单例模式? 1、含义  ... 构造函数和克隆函数必须声明为私有的,防止外部程序new类从而失去单例模式的意义: private function __construct() { $this-&gt;_db = pg_connect('xxxx'); } private f

    单例模式的多数据库连接池完整版

    单例模式的多数据库连接池完整版 可同时支持目前市面上各种流行的数据库连接 包中自带doc描述,和MSSQL2005的连接示例。 下载后即可用!

    PHP单例模式详解及实例代码

    PHP单例模式详解 单例模式的概念 单例模式是指整个应用中某个类只有一个对象实例的设计模式。具体来说,作为对象的创建方式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局的提供这个实例。它...

    PHP5设计模式-单例模式

    最简单的PHP设计模式,单例模式。大家可以参考下。

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

    二、PHP单例模式三要素 1. 需要一个保存类的唯一实例的静态成员变量。 2. 构造函数和克隆函数必须声明为私有的,防止外部程序创建或复制实例副本。 3. 必须提供一个访问这个实例的公共静态方法,从而返回唯一实例的...

Global site tag (gtag.js) - Google Analytics