欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php 設(shè)計(jì)模式之 單例模式

 更新時(shí)間:2008年12月19日 12:48:53   作者:  
其實(shí)在工廠模式就已經(jīng)應(yīng)用了單例模式,從始到終它就只有一個(gè)工廠,單例模式不需要新建實(shí)例?,F(xiàn)在寫一個(gè)簡(jiǎn)單的例子。
小船類boat.php
復(fù)制代碼 代碼如下:

<?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;
}
/**
* 設(shè)置船長(zhǎng)
*
* @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;
}
}
?>

現(xiàn)在看看怎么樣上客
復(fù)制代碼 代碼如下:

<?php
include 'boat.php';
echo "從前有一條河,河里只有一條船,<br>";
$boat1=boat::getInstance();//因?yàn)橹挥幸粭l船,所以只有一個(gè)實(shí)例
echo "現(xiàn)在張三要到河?xùn)|去,";
$boat1->load('張三');
echo "<br>現(xiàn)在船上坐著:<br>";
foreach ($boat1->whoInboat() as $who){
echo $who.'<br>';
}
echo "<br>現(xiàn)在李四也要過(guò)河?xùn)|去<br>";
$boat1->load('李四');
echo "現(xiàn)在船上坐著:<br>";
foreach ($boat1->whoInboat() as $who){
echo $who.'、';
}
echo "<br><br>王五以為這條河有另一條船,<br>";
$boat2=boat::getInstance();
echo "他現(xiàn)在上船<br>";
$boat2->load('王五');
echo "現(xiàn)在船上坐著:<br>";
foreach ($boat1->whoInboat() as $who){
echo $who.'、';
}
?>

相關(guān)文章

  • PHP中時(shí)間處理類Carbon的用法詳解

    PHP中時(shí)間處理類Carbon的用法詳解

    Carbon?是php的日期處理類庫(kù)(A?simple?PHP?API?extension?for?DateTime.),繼承了PHP的?Datetime?類。本文將詳細(xì)講解一下該類的使用,需要的可以參考一下
    2022-05-05
  • PHP Warning: Module ''modulename'' already loaded in問(wèn)題解決辦法

    PHP Warning: Module ''modulename'' already loaded in問(wèn)題解決辦法

    這篇文章主要介紹了PHP Warning: Module 'modulename' already loaded in問(wèn)題解決辦法,本文總結(jié)了兩種情況,需要的朋友可以參考下
    2015-03-03
  • Larave框架通過(guò)sanctum進(jìn)行API鑒權(quán)詳解

    Larave框架通過(guò)sanctum進(jìn)行API鑒權(quán)詳解

    Laravel是一套簡(jiǎn)潔、優(yōu)雅的PHP WEB開(kāi)發(fā)框架(PHP Web Framework),具有富于表達(dá)性且簡(jiǎn)潔的語(yǔ)法,Laravel是易于理解且強(qiáng)大的,它提供了強(qiáng)大的工具用以開(kāi)發(fā)大型,健壯的應(yīng)用,例如具有自動(dòng)驗(yàn)證、路由、Session、緩存、數(shù)據(jù)庫(kù)遷移工具、單元測(cè)試等常用的工具和功能
    2022-07-07
  • iis下php mail函數(shù)的sendmail配置方法(官方推薦)

    iis下php mail函數(shù)的sendmail配置方法(官方推薦)

    很多玩discuz的彭友在使用在線發(fā)郵件的功能,但是測(cè)試了"通過(guò) PHP 函數(shù)的 sendmail 發(fā)送(推薦此方式)"怎么都沒(méi)用,因?yàn)楸救爽F(xiàn)在用的是iis+php環(huán)境,所以就出這么一個(gè)教程,教大家在自己服務(wù)器上配置sendmail
    2012-04-04
  • php中bind_param()函數(shù)用法分析

    php中bind_param()函數(shù)用法分析

    這篇文章主要介紹了php中bind_param()函數(shù)用法,簡(jiǎn)單分析了bind_param()函數(shù)的功能、參數(shù)、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-03-03
  • PHP使用XMLWriter讀寫xml文件操作詳解

    PHP使用XMLWriter讀寫xml文件操作詳解

    這篇文章主要介紹了PHP使用XMLWriter讀寫xml文件操作,結(jié)合實(shí)例形式分析了php基于XMLWriter針對(duì)xml文件進(jìn)行讀寫操作相關(guān)實(shí)現(xiàn)技巧,并附帶相關(guān)源碼供讀者下載參考,需要的朋友可以參考下
    2018-07-07
  • php設(shè)計(jì)模式之委托模式

    php設(shè)計(jì)模式之委托模式

    這篇文章主要為大家詳細(xì)介紹了php設(shè)計(jì)模式之委托模式,以一個(gè)實(shí)例為大家介紹了php委托模式,感興趣的朋友可以參考一下
    2016-02-02
  • PHP和Mysql中轉(zhuǎn)UTF8編碼問(wèn)題匯總

    PHP和Mysql中轉(zhuǎn)UTF8編碼問(wèn)題匯總

    這篇文章主要總結(jié)了PHP頁(yè)面和Mysql數(shù)據(jù)庫(kù)的轉(zhuǎn)UTF8編碼問(wèn)題,需要的朋友可以參考下
    2015-10-10
  • PHP實(shí)現(xiàn)websocket通信的方法示例

    PHP實(shí)現(xiàn)websocket通信的方法示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)websocket通信的方法,結(jié)合實(shí)例形式分析了php基于websocket類的socket通信相關(guān)客戶端與服務(wù)器端操作技巧,需要的朋友可以參考下
    2018-08-08
  • php基于curl實(shí)現(xiàn)隨機(jī)ip地址抓取內(nèi)容的方法

    php基于curl實(shí)現(xiàn)隨機(jī)ip地址抓取內(nèi)容的方法

    這篇文章主要介紹了php基于curl實(shí)現(xiàn)隨機(jī)ip地址抓取內(nèi)容的方法,可生成隨機(jī)IP進(jìn)行訪問(wèn),涉及curl設(shè)置與使用技巧,需要的朋友可以參考下
    2016-10-10

最新評(píng)論