新建Cirle.class.php文件
验证方式:
<?php function yan($arr) { $bz = true; if ($arr['r']< 0) { $this->error .= "半径小于0;"; $bz = false; } else { if (!is_numeric($arr['r'])) { $this->error .= "半径不是数字;"; $bz = false; } } return $bz; }
除了验证方式,计算方式和其他的不同之外,代码逻辑基本类似,代码如下:
<?php class Cirle extends Shape { private $r; function __construct($arr = array()) { if (!empty($arr)) { $this->r = $arr['r']; } $this->name = "圆形"; $this->error = ''; } function area() { return pi()* $this->r* $this->r; ; } function zhou() { return 2*$this->r*pi(); } function view($arr) { $form=''; $form .= "<form action='index.php?action=cirle' method='post'>"; $form .= "请输入".$arr['name']."的半径:<input type='text' name='r' value='".$_POST['r']."'/><br>"; $form .= "<br>"; $form .= "<input type='submit' name='sub' value='提交'/> "; $form .= "<input type='reset' name='ret' value='重置'/>"; $form .= "</form>"; echo $form; } function yan($arr) { $bz = true; if ($arr['r']< 0) { $this->error .= "半径小于0;"; $bz = false; } else { if (!is_numeric($arr['r'])) { $this->error .= "半径不是数字;"; $bz = false; } } return $bz; } } ?>
运行结果如下:
下一节