Home  >  Article  >  Backend Development  >  PHP Design Pattern - Singleton Pattern_PHP Tutorial

PHP Design Pattern - Singleton Pattern_PHP Tutorial

WBOY
WBOYOriginal
2016-07-21 15:48:49767browse

小船类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;
}
/**
* Set captain
*
* @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!';
}
}
/**
* Who is on board
*
* @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.'、';
}
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/319677.htmlTechArticle小船类boat.php 复制代码 代码如下: ?php class boat { private static $instance=null; private $skipper; private $personNum=0; private $passengers=array(); private function _...
Statement:
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