* @param string $operator
* @return int|float
*/
public
function
calculate(
$num1
,
$num2
,
$operator
){
try
{
$result
=0;
switch
(
$operator
){
case
'+':
$result
=
$num1
+
$num2
;
break
;
case
'-':
$result
=
$num1
-
$num2
;
break
;
case
'*':
$result
=
$num1
*
$num2
;
break
;
case
'/':
if
(
$num2
==0) {
throw
new
Exception("除数不能为 0");
}
$result
=
$num1
/
$num2
;
break
;
return
$result
;
}
}
catch
(Exception
$e
){
echo
"您输入有误:".
$e
->getMessage();
}
}
}
$test
=
new
Calc();
// echo $test->calculate(2,3,'+');//打印:5
echo
$test
->calculate(5,0,'/');
//打印:您输入有误:除数不能为 0
?>
优点:以上代码使用了面向对象的封装特性,只要有了
include
这个类,其他页面就可以随
便使用了
缺点:无法灵活的扩展和维护
比如:想要增加一个
“求余”运算,需要在
switch
语句块中添加一个分支语句,代码需要做
如下改动
添加分支语句
代码如下
:
<?php
class
Calc{