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 相关文章推荐
php下过滤html代码的函数 提高程序安全性
Mar 02 PHP
php学习笔记(三)操作符与控制结构
Aug 06 PHP
php中检查文件或目录是否存在的代码小结
Oct 22 PHP
php中导出数据到excel时数字变为科学计数的解决方法
Feb 03 PHP
探讨PHP中this,self,parent的区别详解
Jun 08 PHP
3个PHP多维数组转为一维数组的方法实例
Mar 13 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 PHP
PHP中cookie知识点学习
May 06 PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 PHP
tp5.1 框架数据库-数据集操作实例分析
May 26 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
Jul 10 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
SONY SRF-M100的电路分析
2021/03/02 无线电
谈谈PHP语法(4)
2006/10/09 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
JavaScript的9个陷阱及评点分析
2008/05/16 Javascript
JQuery jsonp 使用示例代码
2009/08/12 Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
jQuery实现的图片分组切换焦点图插件
2015/01/06 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
2018/09/14 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
Element-UI+Vue模式使用总结
2020/01/02 Javascript
Python中使用Inotify监控文件实例
2015/02/14 Python
在Windows中设置Python环境变量的实例讲解
2018/04/28 Python
想学python 这5本书籍你必看!
2018/12/11 Python
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
厂长岗位职责
2014/02/19 职场文书
幼儿园评语大全
2014/04/17 职场文书
2014年学习部工作总结
2014/11/12 职场文书
2015大学迎新晚会策划书
2015/07/16 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript