Home > Backend Development > PHP Tutorial > php 设计模式之 单例模式_PHP

php 设计模式之 单例模式_PHP

WBOY
Release: 2016-06-01 12:24:21
Original
915 people have browsed it

小船类boat.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->personNumarray_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;
}
}
?>

现在看看怎么样上客
复制代码 代码如下:
include 'boat.php';
echo "从前有一条河,河里只有一条船,
";
$boat1=boat::getInstance();//因为只有一条船,所以只有一个实例
echo "现在张三要到河东去,";
$boat1->load('张三');
echo "
现在船上坐着:
";
foreach ($boat1->whoInboat() as $who){
echo $who.'
';
}
echo "
现在李四也要过河东去
";
$boat1->load('李四');
echo "现在船上坐着:
";
foreach ($boat1->whoInboat() as $who){
echo $who.'、';
}
echo "

王五以为这条河有另一条船,
";
$boat2=boat::getInstance();
echo "他现在上船
";
$boat2->load('王五');
echo "现在船上坐着:
";
foreach ($boat1->whoInboat() as $who){
echo $who.'、';
}
?>

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template