服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - php设计模式之单例模式用法经典示例分析

php设计模式之单例模式用法经典示例分析

2021-08-20 14:00巴八灵 PHP教程

这篇文章主要介绍了php设计模式之单例模式用法,结合具体实例形式分析了php单例模式的概念、原理、定义及使用方法,需要的朋友可以参考下

本文实例讲述了php设计模式之单例模式用法。分享给大家供大家参考,具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
/**
* @desc 单例模式
* 目的:防止过多的new对象和clone对象,没有对象的时候new对象并缓存,始终保持都是同一个对象实例
* 特点:php的单例是进程中的单例,而不像java属于内存中的单例
* **/
class single{
protected static $ins = null;//声明一个静态变量,用来存储类的实例
private $name;//声明一个私有的实例变量
/**
* 私有化构造方法,防止不断的创建对象
* **/
private function __construct(){
}
public static function getIns(){
if(self::$ins===null){
self::$ins = new self();
}
return self::$ins;
}
public function setName($name){
$this->name = $name;
}
public function getName(){
return $this->name;
}
$single1 = single::getIns();
$single2 = single::getIns();
$single1->setName('hello world!');
$single2->setName('hello php!');
echo $single1->getName();//输出结果:hello php!
echo "<br/>":
echo $single2->getName();//输出结果:hello php!
/***
* 分析:输出的结果都是hello php!
* 采用了单例模式对象$single1与$single2是等价的,因此对象$single1与$single2都在设置类的变量时指向都是一致的,变量值取对象设置的最新的一个值
* **/

运行结果:

hello php!
hello php!

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

原文链接:https://www.cnblogs.com/lisqiong/p/6552815.html

延伸 · 阅读

精彩推荐