php 设计模式之 单例模式


Posted in PHP onDecember 19, 2008

小船类boat.php

<?php 
class boat { 
private static $instance=null; 
private $skipper; 
private $personNum=0; 
private $passengers=array(); 
private function __construct() { 
} 
public static function getInstance(){ 
if (self::$instance==null){ 
self::$instance=new boat(); 
} 
return self::$instance; 
} 
/** 
* 设置船长 
* 
* @param unknown_type $name 
*/ 
public function setSkipper($name){ 
$this->skipper=$name; 
} 
/** 
* 装人 
* 
* @param unknown_type $person 
*/ 
public function load($person){ 
if (!emptyempty($person) and $this->personNum<=5){ 
array_push($this->passengers,$person); 
$this->personNum=$this->personNum+1; 
} 
if ($this->personNum>5) { 
echo 'this boat only load 5 person!'; 
} 
} 
/** 
* 船上装了什么人 
* 
* @return unknown 
*/ 
public function whoInBoat(){ 
return $this->passengers; 
} 
} 
?>

现在看看怎么样上客
<?php 
include 'boat.php'; 
echo "从前有一条河,河里只有一条船,<br>"; 
$boat1=boat::getInstance();//因为只有一条船,所以只有一个实例 
echo "现在张三要到河东去,"; 
$boat1->load('张三'); 
echo "<br>现在船上坐着:<br>"; 
foreach ($boat1->whoInboat() as $who){ 
echo $who.'<br>'; 
} 
echo "<br>现在李四也要过河东去<br>"; 
$boat1->load('李四'); 
echo "现在船上坐着:<br>"; 
foreach ($boat1->whoInboat() as $who){ 
echo $who.'、'; 
} 
echo "<br><br>王五以为这条河有另一条船,<br>"; 
$boat2=boat::getInstance(); 
echo "他现在上船<br>"; 
$boat2->load('王五'); 
echo "现在船上坐着:<br>"; 
foreach ($boat1->whoInboat() as $who){ 
echo $who.'、'; 
} 
?>
PHP 相关文章推荐
9个PHP开发常用功能函数小结
Jul 15 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
Aug 12 PHP
组合算法的PHP解答方法
Feb 04 PHP
Zend Studio 实用快捷键一览表(精心整理)
Aug 10 PHP
php自定义加密与解密程序实例
Dec 31 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
PHP处理会话函数大总结
Aug 05 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
PHP实现linux命令tail -f
Feb 22 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
Nov 21 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 PHP
PHP写API输出的时用echo的原因详解
Apr 28 PHP
PHP 采集程序 常用函数
Dec 18 #PHP
php IP及IP段进行访问限制的代码
Dec 17 #PHP
php mssql 数据库分页SQL语句
Dec 16 #PHP
linux下 C语言对 php 扩展
Dec 14 #PHP
php 文件状态缓存带来的问题
Dec 14 #PHP
快速开发一个PHP扩展图文教程
Dec 12 #PHP
PHP Google的translate API代码
Dec 10 #PHP
You might like
PHP中的float类型使用说明
2010/07/27 PHP
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
php中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
多个jQuery版本共存的处理方案
2015/03/17 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
2015/12/23 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
谈谈VUE种methods watch和compute的区别和联系
2017/08/01 Javascript
详解vue axios中文文档
2017/09/12 Javascript
vue.js 添加 fastclick的支持方法
2018/08/28 Javascript
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python网络编程学习笔记(10):webpy框架
2014/06/09 Python
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
Python实现两个list求交集,并集,差集的方法示例
2018/08/02 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
求职自荐信格式
2013/12/04 职场文书
大学生职业生涯规划范文
2013/12/31 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
团员自我评价范文
2015/03/10 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
特种设备安全管理制度
2015/08/06 职场文书
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS