PHP:将计算器连接到GUI

时间:2015-02-16 02:11:02

标签: php forms calculator

我在php中制作了一个计算器我试图使用MVC设计。 计算器工作正常,但我想将它连接到GUI。 我现在拥有的是用来调用我的类的php,然后是一些包含我的按钮的html。

<?php
//index_input.php
require_once 'calc.php';
require_once 'opInterface.php';
require_once 'op.php';

$c=new Calculator;
$c->setOP(new Add);
$c->calc(10,50);//20
$c->setOP(new Sub);
$c->calc(30);//30
$c->setOP(new Mult);
$c->calc(5);//150
$c->setOP(new Div);
$c->calc(2);//75
//echo $c->getResult();
?>

<html >
<head>

<title>Calculator Demo</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<form method="get" action="?page=calc">
<!--displays tthe result-->
<input type="text" name="display" value="<?php echo $c->getResult();?>">
<div class="containor">
    <div class="opcontainer">
        <input class="operator" type="button" name="op" value="+">
        <input class="operator" type="button" name="op" value="-">
        <input class="operator" type="button" name="op" value="*">
        <input class="operator" type="button" name="op" value="/">
    </div>
    <input class="number" type="button" name="1" value="1">
    <input class="number" type="button" name="2" value="2">
    <input class="number" type="button" name="3" value="3">
    <input class="number" type="button" name="4" value="4">
    <input class="number" type="button" name="5" value="5">
    <input class="number" type="button" name="6" value="6">
    <input class="number" type="button" name="7" value="7">
    <input class="number" type="button" name="8" value="8">
    <input class="number" type="button" name="9" value="9">
    <input class="number" type="button" name="0" value="0">
    <input id="enter" type="button" name="submit" value="submit">
    <input class="number" type="button" name="clear" value="clear" >
</div>
</form>

 </body>
</html>

我无法将按钮连接到php代码。我正在考虑添加一些if opaements,以便何时单击opperator:

if($_POST['op'] =="+"){
    $c->setOP(new Add);
    $c->calc(10,10);//20
}

这是一个很好的方法吗?我需要应用不同的方法吗?

1 个答案:

答案 0 :(得分:1)

仅使用PHP,您必须为每个按钮发送表单,并在整个会话期间跟踪计算选项。您可能会使用的GUI只是HTML + JS + CSS。使用JavaScript,用户可以在提交表单之前构建整个计算(将整个计算提交到PHP计算器),或者......完全绕过PHP(您可以在JavaScript中构建整个计算器而无需发送表单)。 / p>