一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP多例模式介紹

PHP多例模式介紹

2020-04-28 11:40PHP教程網 PHP教程

大家都知道PHP單例模式,卻很少說PHP多例模式,下面是在wikipedia上看到的PHP多例模式的例子

學習java就知道設計模式中有多例模式:

1、多例類可以有多個實例
2、多例類必須能夠自我創建并管理自己的實例,并向外界提供自己的實例。

大家都知道PHP單例模式,卻很少說PHP多例模式,下面是在wikipedia上看到的PHP多例模式的例子:

 

復制代碼 代碼如下:

<?php
abstract class Multiton {
    private static $instances = array();
    public static function getInstance() {
$key = get_called_class() . serialize(func_get_args());
if (!isset(self::$instances[$key])) {
$rc = new ReflectionClass(get_called_class());
self::$instances[$key] = $rc->newInstanceArgs(func_get_args());
}
return self::$instances[$key];
    }
}

class Hello extends Multiton {
public function __construct($string = 'World') {
echo "Hello $string\n";
}
}

class GoodBye extends Multiton {
public function __construct($string = 'my', $string2 = 'darling') {
echo "Goodbye $string $string2\n";
}
}

$a = Hello::getInstance('World');
$b = Hello::getInstance('bob');
// $a !== $b

$c = Hello::getInstance('World');
// $a === $c

$d = GoodBye::getInstance();
$e = GoodBye::getInstance();
// $d === $e

$f = GoodBye::getInstance('your');
// $d !== $f
?>

 

可以看到PHP多例模式需要getInstance()傳遞關鍵值,對于給定的關鍵值,PHP多例模式只會存在唯一的對象實例,PHP多例模式節省內存,確保同一個對象的多個實例不發生沖突。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91制片厂果冻星空传媒3xg | 午夜第一页 | 黑人巨摘花第一次出血 | 亚洲天堂视频在线播放 | 色综合色狠狠天天综合色hd | 免费视频完整版在线观看网站 | 99热久久国产精品这里 | 久久re亚洲在线视频 | 99re免费在线视频 | 网站在线观看 | 亚洲美女aⅴ久久久91 | 91精品久久一区二区三区 | hh99me福利毛片| 亚洲 综合 欧美在线 热 | 麻豆视频入口 | 天堂资源wwww在线看 | 日韩精品中文字幕久久 | 四虎色影院 | 门卫老张和女警花小说 | 国产麻豆精品免费视频 | 亚洲成人影院在线观看 | 32pao强力打造免费高速高清 | 无码国产成人777爽死在线观看 | 色一情一区二区三区四区 | 91亚洲精品第一综合不卡播放 | 2020国产精品亚洲综合网 | 成人影院在线观看免费 | 99久久国产综合精品网成人影院 | 国产成人愉拍精品 | tubehdxx丝袜正片 | 男女一级特黄a大片 | 日本中文字幕不卡在线一区二区 | 精品91一区二区三区 | 欧美男男xxx激情做受 | 欧美3d怪物交videos网站 | 久久伊人精品青青草原2021 | 久草在线精彩免费视频 | 丝瓜视频成人在线观看 | 美女大乳被捏羞羞漫画 | 国产精品区牛牛影院 | 国产一区在线免费观看 |