PHP实现单件模式的几种方式
发布日期:2021-09-20 08:07:36
浏览次数:45
分类:技术文章
本文共 1299 字,大约阅读时间需要 4 分钟。
下面是单件模式在PHP中的几种实现方法:
class Stat{ static $instance = NULL; static function getInstance(){ if(self::$instance == NULL){ self::$instance = new Stat(); } return self::$instance; } private function __construct(){ } private function __clone(){ } function sayHi(){ return "The Class is saying hi to u "; }}echo Stat::getInstance()->sayHi();
这是一种最通常的方式,在一个getInstance方法中返回唯一的类实例。
对这里例子稍加修改,便可以产生一个通用的方法,只要叫道任何你想用到单件的类里,就可以了。class Teacher{ function sayHi(){ return "The teacher smiling and said 'Hello '"; } static function getInstance(){ static $instance; if(!isset($instance)){ $c = __CLASS__; $instance = new $c; } return $instance; }}echo Teacher::getInstance()->sayHi();最后一种是提供一个singleton类,然后通过调用getInstance方法,可以为任何一个类生产出一个实例来。
class singleton{ function getInstance($class){ static $instances = array(); if(!array_key_exists($class,$instances)){ $instances[$class] = &new $class; } $instance = $instances[$class]; return $instance; }}class People{ function sayHi(){ return 'Hello i am a people?'; }}echo "";echo singleton::getInstance('People')->sayHi();
转载地址:https://blog.csdn.net/caiyiii/article/details/17078247 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年03月23日 04时10分36秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
POJ 1125 Stockbroker Grapevine 弗洛伊德算法
2019-04-26
轻松保存扣扣闪照!是的,闪照保存!很简单!学不会扣眼珠子!
2019-04-26
ATM机等待时间详细代码和解释
2019-04-26
我在pip安装tensorflow时遇到 ERROR: Cannot uninstall ‘wrapt‘. It is a distutils installed project and thu2
2019-04-26
tensorfolw很多的函数不能使用,具体解决方法:
2019-04-26
html静态网页实例一(附完整代码)
2019-04-26
html静态网页实例二(附完整代码)
2019-04-26
Turtle入门一
2019-04-26
爬取去哪儿网酒店信息
2019-04-26
C++判断素数详细讲解与代码
2019-04-26
C++求阶层和
2019-04-26
pygame安装问题
2019-04-26
python画一个可爱的皮卡丘(完整代码)
2019-04-26
Python编程实现BP算法,在西瓜数据集上训练一个单隐层网络(方法二,附带完整代码)
2019-04-26