php 观察者如何传值,php 观察者模式

观察者模式:

require_once("guanchazhe.php");

class BorderDecorator extends Widget{

private $widget;

function __construct(Widget $widget){

$this->widget=$widget;

}

public function draw(){

echo "

echo "

";

$this->widget->draw();

echo "

";

}

public function update(Observable $subject){

$this->widget->update($subject);

}

}

$widgetA=new BorderDecorator($widget);

$widgetA->draw();

?>

widget类的改写:

//观察者

interface Observer{

public function update(Observable $subject);

}

abstract class Widget implements Observer{

private $subject;

abstract public function draw();

public function update(Observable $subject){

$this->subject=$subject;

}

public function getSubject(){

return $this->subject;

}

}

class BasicWidget extends Widget{

function __construct(){

}

public function draw(){

$html="

$html.="

" .

"Instrument Info

";

$data=$this->getSubject()->getData();

$numRecords=count($data[0]);

for($i=0;$i

$instms=$data[0];

$prices=$data[1];

$years=$data[2];

$html.="

$instms[$i]$prices[$i]$years[$i]";

}

$html.="


";

echo $html;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值