정보실

웹학교

정보실

php PHP의 간단한 계산기 (OOP 원칙)

본문

따라서 다음을 수행하는 계산기를 구축하십시오.

1) 더하기 

2) 곱셈 

3) 나누기 

4) 빼기


폴더 및 파일 구조는 다음과 같습니다.


Alt Text 


https://dev.to/naveenkolambage/simple-calculator-in-php-oop-principles-3kbh 


html index.php를 먼저 정렬하면 무엇이 좋습니까?


<?php

 include 'includes/class-autoload.inc.php';
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>

<form action="includes/calc.inc.php" method = "post">

    <p>Calculator V01</p>
    <input type= "number" name="num1" placeholder="First number">
    <select name="oper" >
      <option value="add"> Addition </option>
      <option value="sub"> Substraction </option>
      <option value="div">Division </option>
      <option value="mul">Multiplication </option>
    </select>
    <input type="number" name="num2" placeholder="Second number">
    <button type="submit" name="submit">  Calculate</button>

</form>

</body>
</html>


class-autoload.php 파일에 대해 잘 모르면 위의 코드는 설명이 필요합니다. 그것에 대해 https://dev.to/naveenkolambage/autoload-classes-in-php-4474).


그리고 여기 class-autoload.inc.php에있는 코드가 있습니다


<?php

spl_autoload_register('myAutoLoader');

function myAutoLoader($className){
    $url= $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

    if(strpos($url, 'includes')!==false){
        $path = '../classes/';
    }
    else{
        $path = 'classes/';
    }
    $extension = '.class.php';
    require_once $path.$className.$extension;
}


그런 다음 계산기 클래스 파일인 calc.class.php를 봅니다.


<?php

class Calc{
    public $operator;
    public $num1;
    public $num2;


    public function __construct(string $one, int $two, int $three){
        $this->operator = $one;
        $this->num1 = $two;
        $this->num2 = $three;
    }


    public function calculator(){
     switch ($this->operator) {
         case 'add':
            $result = $this->num1 + $this->num2;
            return $result;             
            break;
        case 'sub':
            $result = $this->num1 - $this->num2;
            return $result;             
            break;
        case 'div':    
             $result = $this->num1 / $this->num2;
             return $result;             
             break;
        case 'mul':    
             $result = $this->num1 * $this->num2;
             return $result;             
             break;

     }
    }

}


다음 파일은 calc.inc.php입니다.


<?php
include 'class-autoload.inc.php';

$oper = $_POST["oper"];
$num1 = $_POST["num1"];
$num2 = $_POST["num2"];

$calc = new Calc($oper,$num1,$num2);

try {
    echo $calc->calculator();
} catch (TypeError $e) {
    echo "Error!: " .$e->getMessage();
}

?>


이것을 xampp에 로드하면 다음을 볼 수 있습니다.


Alt Text 


https://youtu.be/lU23DLYte6w에 작은 비디오를 만들었습니다.



  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

조회 16회 ]  작성일20-02-13 16:32

웹학교