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 相关文章推荐
在windows iis5下安装php4.0+mysql之我见
Oct 09 PHP
PHP实现Socket服务器的代码
Apr 03 PHP
php中实现记住密码自动登录的代码
Mar 02 PHP
url decode problem 解决方法
Dec 26 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
Feb 06 PHP
PHP中使用curl伪造IP的简单方法
Aug 07 PHP
PHP简单实现生成txt文件到指定目录的方法
Apr 25 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
Oct 23 PHP
微信公众平台开发教程②微信端分享功能图文详解
Apr 10 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 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图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
CI框架扩展系统核心类的方法分析
2016/05/23 PHP
php中static和const关键字用法分析
2016/12/07 PHP
JS 面向对象之神奇的prototype
2011/02/26 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
2017/04/01 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
Vue实现点击箭头上下移动效果
2020/06/11 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
python控制台英汉汉英电子词典
2020/04/23 Python
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
python定时关机小脚本
2018/06/20 Python
Python实现端口检测的方法
2018/07/24 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
Python中的self用法详解
2019/08/06 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
周年庆典邀请函范文
2014/01/23 职场文书
推广普通话演讲稿
2014/05/23 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
信用卡工资证明格式
2014/09/13 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2014年食堂工作总结
2014/11/20 职场文书
2014年村官工作总结
2014/11/24 职场文书
考勤制度通知
2015/04/25 职场文书
离职信范文
2015/06/23 职场文书
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js
ubuntu下常用apt命令介绍
2022/06/05 Servers