Con- & Destructors

Intro
Hier gaan we het hebben over constructors en desctrutors.

Constructors, hadden we al vanaf PHP 3!
Ja, maar die manier kan in PHP 5 ook anders!

Destructor? WTF?
Dat ga ik zo uitleggen ;)

Constructors
Constructors dat was altijd al de functie in een class, die dezelfde naam had ineen class. Maar in php 5 kan het ook (weer ;)) anders!

Deze code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
class de_CLASS {
    __construct() {
         echo "Blub zei de vis ";
         echo "vanmiddag toen ik ";
         echo "naar huis liep";
    }
}

$obj = new de_CLASS();
?>

geeft dezelfde output als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
class de_CLASS {
    de_CLASS() {
         echo "Blub zei de vis ";
         echo "vanmiddag toen ik ";
         echo "naar huis liep";
    }
}

$obj = new de_CLASS();
?>

Het zal allenbij "Blub zei de vis vanmiddag toen ik naar huis liep" geven.

De volgende code zal als output geven: "Mijn cavia zit in de modder."
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
class verhaal {
    __construct() {
         echo "Mijn cavia zit ";
    }
}


class cavia extends verhaal {
    __construct() {
        parent::__construct();
        echo "in de modder.";
    }
}

$obj = new cavia();
?>


Destructors
Als je al in talen zoals C++ ben bezig geweest zal je destructors vast wel bekend in de oren klinken. De destructor wordt meteen na de constructor geactiveerd. Als je daarna nog iets probeerd zal je een E_NOTICE error krijgen.

De output van het onderstaande script: "In constructor
Destroying MyDestructableClass"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
class MyDestructableClass {
   function
__construct() {
       print "In constructor\n";
       $this->name = "MyDestructableClass";
   }

   function
__destruct() {
       print "Destroying " . $this->name . "\n";
   }
}


$obj = new MyDestructableClass();
?>

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Autoload
  3. Con- & Destructors
  4. Scope (::)
  5. Static
  6. Constants
  7. Type Hinting
  8. Final
  9. Object iteration
  10. Exceptions
  11. Abstract
  12. Conclusie/Einde

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.