策略模式

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="demo.php" method="post">
<input type="text" name="opt1">
<select name="op">
<option value="add">+</option>
<option value="sub">-</option>
<option value="mul">*</option>
<option value="div">/</option>
</select>
<input type="text" name="opt2">
    <input type="submit" name="" value="=">
<input type="text" name="opt3">
</form>
</body>

</html>



<?php
interface Math{
function cmath($opt1,$opt2,$opt3);
}


class Mathadd implements Math{
public function cmath($opt1,$opt2,$opt3){
return $opt3=$opt1+$opt2;
   }
}
class Mathsub implements Math{
public function cmath($opt1,$opt2,$opt3){
return $opt3=$opt1-$opt2;
   }
}
class Mathmul implements Math{
public function cmath($opt1,$opt2,$opt3){
return $opt3=$opt1*$opt2;
   }
}
class Mathdiv implements Math{
public function cmath($opt1,$opt2,$opt3){
return $opt3=$opt1/$opt2;
   }
}


class XnMath{
public $xnMath=null;
public function __construct($type){
    $cale="Math".$type;
    //print_r($cale);
$this->xnMath=new $cale();
}


public function Xmath($opt1,$opt2,$opt3){
    return $this->xnMath->cmath($opt1,$opt2,$opt3);
}
}


$type=$_POST['op'];
$opt1=$_POST['opt1'];
$opt2=$_POST['opt2'];
$opt3=$_POST['opt3'];
//print_r($type);
//print_r($opt1);
//print_r($opt2);
//print_r($opt3);
$cmath=new XnMath($type);
echo $cmath->Xmath($opt1,$opt2,$opt3);
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值