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 相关文章推荐
人大复印资料处理程序_查询篇
Oct 09 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
php-cli简介(不会Shell语言一样用Shell)
Jun 03 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
Apr 10 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
PHP date函数常用时间处理方法
May 11 PHP
PHP实现将textarea的值根据回车换行拆分至数组
Jun 10 PHP
php实现统计目录文件大小的函数
Dec 25 PHP
PHP类相关知识点实例总结
Sep 28 PHP
PHP使用curl制作简易百度搜索
Nov 03 PHP
PHP回调函数概念与用法实例分析
Nov 03 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制作静态网站的模板框架(一)
2006/10/09 PHP
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
2016/09/21 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
2019/03/07 PHP
jQuery 学习 几种常用方法
2009/06/11 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
2015/12/24 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
用Python将结果保存为xlsx的方法
2019/01/28 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
pandas 数据类型转换的实现
2020/12/29 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
外贸销售员求职的自我评价
2013/11/23 职场文书
办公室人员先进事迹
2014/01/27 职场文书
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
教师节宣传方案
2014/05/23 职场文书
供电工程专业求职信
2014/08/09 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
店长岗位职责
2015/02/11 职场文书
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python
Python竟然能剪辑视频
2021/05/25 Python
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android