您的位置:首页 > 编程语言 > PHP开发

PHP设计模式之单例模式

2017-02-23 16:48 453 查看
一、简介:

使得类的一个对象成为系统的唯一实例,不会重复的去创建一个类

常见的使用单例模式的是:数据库类

二、三个要点:

1、单例模式的类只提供私有的构造函数 : private function __construct()

2、类定义中含有一个该类的静态私有对象: private static $instance=null;

3、提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象: public static function getInstance()

三、简单PHP代码demo:

<?php
/**
* Singleton pattern with php 单例模式
* User: DongJuntong
* Date: 2017/2/9
* Time: 18:21
*/
class Singleton
{
private static $instance=null;
public $name='';

private function __construct()
{

}
private function __clone()
{

}

public static function getInstance()
{
if(empty(self::$instance))
{
self::$instance=new Singleton();
}
return self::$instance;
}
}


四、测试代码:

$single1=Singleton::getInstance();
$single1->name='张三';
echo "name值为:{$single1->age}<br/>";// 张三

$single2=Singleton::getInstance();
$single2->name='李四';

echo "name值为:{$single1->age}<br/>";//李四
echo "name值为:{$single2->age}<br/>";//李四


可以看出第二次的name值也变成了‘李四’ 说明single1 和single2 是同一个对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: