PHP Classes

Classes are defined similar to many other Object oriented languages.

The basic syntax is:

<?php
         class theClass
         {
             // member declaration
             public $var = 'a default value';
         
             // method declaration
             public function displayVar() {
                 echo $this->var;
             }
         }

         //this is how you create an instance of theClass
         $a = new theClass();

         //this is how you invoke a method on the instance
         $a->displayVar();

         //this is how you can access a variable in the class
         echo " the variable value is $a->$var;
?> 

Subclass (inheritence)

The follwing shows you how to create a subclass of another class:

<?php
         class ExtendClass extends theClass
         {
             // Redefine the parent method
             function displayVar()
             {
                 echo "Extending class\n";
                 //this calls the parent's method
                 parent::displayVar();
             }
         }
         
         $extended = new ExtendClass();
         $extended->displayVar();
?> 

Constructor and Destructor

Constructor is created with the special name __construct and the destructor with __destruct. The following shows an example:

<?php
         class Animal {
            function __construct() {
                print "I am an Animal\n";
            }
         }
         
         class Dog extends Animal {
            function __construct() {
                parent::__construct();
                print "and am a dog\n";
            }
         }
         
         $a = new Animal();
         $fido = new Dog();
?> 

Here is an example with a destructor:

<?php
         class theClass {
            function __construct() {
                print "In constructor\n";
                $this->name = "theClass";
            }
         
            function __destruct() {
                print "Destroying " . $this->name . "\n";
            }
         }
         
         $obj = new theClass();
?> 

 

© Lynne Grewe