class CalculateResultAction
{
protected $request;
public function __construct($request)
{
$this->request = $request;
}
public function action()
{
$number1 = $this->request->input1;
$number2 = $this->request->input2;
$operand = $this->request->operand; // addition, subtraction, multiplication, division
return $this->{$operand}($number1, $number2);
}
private function addition($number1, $number2) : float
{
return (float)($number1 + $number2);
}
private function subtraction($number1, $number2) : float
{
return (float)($number1 - $number2);
}
private function multiplication($number1, $number2) : float
{
return (float)($number1 * $number2);
}
private function division($number1, $number2)
{
return $number2 != 0 ? round($number1 / $number2, 5) : 'Division by Zero';
}
}