码迷,mamicode.com
首页 > Web开发 > 详细

PHP 工厂模式 简易计算器

时间:2015-07-22 12:48:27      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

<form action="?act=1" method="post">

    <input type="text" name="num1" value="<?php echo isset($_POST[‘num1‘])?$_POST[‘num1‘]:‘‘; ?>" />

    <select name="ty">
        <option <?php if(isset($_POST[‘ty‘]) && $_POST[‘ty‘]==‘+‘){ echo ‘selected‘; } ?> value="+">+</option>
        <option <?php if(isset($_POST[‘ty‘]) && $_POST[‘ty‘]==‘-‘){ echo ‘selected‘; } ?> value="-">-</option>
        <option <?php if(isset($_POST[‘ty‘]) && $_POST[‘ty‘]==‘*‘){ echo ‘selected‘; } ?> value="*">*</option>
        <option <?php if(isset($_POST[‘ty‘]) && $_POST[‘ty‘]==‘/‘){ echo ‘selected‘; } ?> value="/">/</option>
    </select>


    <input type="text" name="num2" value="<?php echo isset($_POST[‘num2‘])?$_POST[‘num2‘]:‘‘; ?>" />

    <input type="submit" value="计算" />

</form>


#   工厂模式   简易计算器


abstract class Core{

    abstract public function getValue($num1,$num2);

}



class Jia extends Core{

    public function getValue($num1,$num2){

        return $num1 + $num2;

    }

}

class Jian extends Core{

    public function getValue($num1,$num2){

        return $num1 - $num2;

    }

}

class Cheng extends Core{

    public function getValue($num1,$num2){

        return $num1 * $num2;

    }

}

class Chu extends Core{

    public function getValue($num1,$num2){

        if($num2==0){ die(‘除数不能为0‘); }

        return $num1 / $num2;

    }

}

class GetRes{

    static public function reValue($ty){

        switch($ty){
            case ‘+‘:
                return new Jia();
                break;
            case ‘-‘:
                return new Jian();
                break;
            case ‘*‘:
                return new Cheng();
                break;
            case ‘/‘:
                return new Chu();
                break;
        }
    }
}



if(isset($_GET[‘act‘]) && $_POST[‘num1‘]!=‘‘ && $_POST[‘num2‘]!=‘‘){

    $ty = $_POST[‘ty‘];
    $num1 = trim($_POST[‘num1‘]);
    $num2 = trim($_POST[‘num2‘]);

    $getRes = GetRes::reValue($ty);
    $res = $getRes->getValue($num1,$num2);

    echo $res;

}

PHP 工厂模式 简易计算器

标签:

原文地址:http://www.cnblogs.com/thinkxmg/p/4666959.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!