MeGaDeTH_91

Calculator Controller

Jul 23rd, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. <?php
  2.  
  3. namespace AppBundle\Controller;
  4.  
  5. use AppBundle\Form\CalculatorType;
  6. use AppBundle\Model\Calculator;
  7. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  8. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  9. use Symfony\Component\HttpFoundation\Request;
  10.  
  11. class CalculatorController extends Controller
  12. {
  13. /**
  14. * @param Request $request
  15. * @Route("/calculator", name="calculator_index")
  16. * @return \Symfony\Component\HttpFoundation\Response
  17. */
  18. public function indexAction(Request $request)
  19. {
  20. $calculator = new Calculator();
  21. $form = $this->createForm(CalculatorType::class, $calculator);
  22. $form->handleRequest($request);
  23. $sum = 0;
  24. if($form->isValid() && $form->isSubmitted()){
  25. $calcService = new \AppBundle\Service\Calculator();
  26. $leftOperand = $calculator->getFirstNumber();
  27. $rightOperand = $calculator->getSecondNumber();
  28. $operator = $calculator->getOperator();
  29.  
  30.  
  31.  
  32. switch ($operator){
  33. case '+':
  34. $sum = $leftOperand + $rightOperand;
  35. break;
  36. case '-':
  37. $sum = $leftOperand - $rightOperand;
  38. break;
  39. case '*':
  40. $sum = $leftOperand * $rightOperand;
  41. break;
  42. case '/':
  43. $sum = $leftOperand / $rightOperand;
  44. break;
  45. case '^':
  46. $sum = pow($leftOperand , $rightOperand) ;
  47. break;
  48. }
  49. return $this->render('calculator/index.html.twig', [
  50. 'form'=>$form->createView(),
  51. 'sum'=>$sum,
  52. 'calculator'=>$calculator
  53. ]);
  54. }
  55. return $this->render('calculator/index.html.twig' ,[
  56. 'form'=>$form->createView(),
  57. 'sum'=>$sum,
  58. 'calculator'=>$calculator
  59. ]);
  60. }
  61.  
  62. }
Advertisement
Add Comment
Please, Sign In to add comment