Computer Programming web Web programming Tips



PHP Class Example

By Sergey Skudaev


In this tutorial you will learn a little about Object Oriented Programming in PHP. I will not write about theory or history of Object Oriented Programming. You can find it in Wikipedia . I give you just one simple example that helps you to understand the concept. First, I give you a simple code example in procedural style, then the same code example with using functions and then the same example with using a class. (OOP approach).

Let us create a simple form that allows us to enter two numbers and a simple PHP code that calculate sum of the numbers, its difference, its multiplication and division.

<html>
<head>
</head>
</body>
<form method="post" action="calc_procedural_code.php">
<table>
<tr><td><input type="text" name="number1" size="10"></td></tr>
 <tr><td><input type="text" name="number2" size="10"></td></tr>
<tr><td><input type="submit" name="submit" value="Calculate"></td></tr>
</table>

</form>
</body>
</html>

Save form as calculator.html file. Now let us write PHP code that performs the calculation.

<?
//calc_procedural_code.php
$num1=$_POST['number1'];
$num2=$_POST['number2'];

$sum=$num1 + $num2;
$difference=$num1 - $num2;
$multi=$num1 * $num2;
$div=$num1/$num2;

echo "Sum=".$sum." <br>";
echo "Difference =".$difference." <br>";
echo "Multilpication=".$multi." <br>";
echo "Division=".$div."<br>";

?>

Save file as calc_procedural_code.php. Run the calculator.html form on a web server and enter any numbers like 6 and 3. Click the calculate button. The PHP script will display output:

Sum = 9
Difference = 3
Multilpication = 18
Division = 2
 

Let us perform the same calculation by using functions in PHP code. Create file "calc_function.php" with the following code:

<?

//Define functions for each calculation action

function add($number1, $number2) {
        $sum=$number1 + $number2;
return $sum;
    }

function subtract($number1, $number2) {

$dif=$number1 - $number2;
return $dif;

}

function multiply($number1, $number2) {

$multi=$number1 * $number2;
return $multi;
}

function divide($number1, $number2) {

$dev=$number1/$number2;
return $dev;
}

$num1=$_POST['number1'];
   $num2=$_POST['number2'];

//call functions:
$sum=add($num1, $num2);
$dif= subtract($num1, $num2);
$multi= multiply($num1, $num2);
$div= divide($num1, $num2);

//Output the result

echo "Sum=".$sum." <br>";
echo "Difference =".$dif." <br>";
echo "Multilpication=".$multi." <br>";
echo "Division=".$div."<br>";
?>

Edit calculator.html file. Change action="cacl_procedural_code.php" to action="calc_function.php" Again, run the calculator.html form on a web server and enter any numbers like 6 and 3. Click the calculate button. The PHP script will display output:

Sum = 9
Difference = 3
Multilpication = 18
Division = 2




Now let us create PHP code with class.


<?

// define class
class Calculator {
//class variables:
var $sum;
var $dif;
var $multi;
var $div;
//Class member functions or methods:
       function add($number1, $number2) {
         $this->sum=$number1 + $number2;
      }
     function substract($number1, $number2) {
         $this->dif=$number1 - $number2;
     }

     function multiply($number1, $number2) {
         $this->multi=$number1 * $number2;
     }

     function devide($number1, $number2) {
         $this->div=$number1/$number2;
     }

}

$num1=$_POST['number1'];
$num2=$_POST['number2'];

//Create a class instance:
$calc = new Calculator();

//Call class methods:
$calc->add($num1,$num2);
$calc->substract($num1,$num2);
$calc->multiply($num1,$num2);
$calc->devide($num1,$num2);

//Display output:

echo "Sum=".$calc->sum." <br>";
echo "Difference =".$calc->dif." <br>";
echo "Multilpication=".$calc->multi." <br>";
echo "Division=".$calc->div."<br>";
?>

Save file as calc_class.php. Edit calculator.html form and type action="calc_class.php". Run the calculator.html form, enter numbers and click Calculate button. The calculation result will display on the next page.

We are done.

My eBooks on Amazon.com

US    UK    BR    CA
US   UK   BR   CA
US    UK    BR    CA