Constructors

Intro
Constructors zijn functies in je klasse die automatisch worden uitgevoerd als je class een nieuwe instance krijgt (Dus er wordt ergens $X = new Y; gedaan). Een functie wordt pas een constuctor als hij precies dezelfde naam als je class heeft(hoofdlettergevoelig) of als hij __construct heet(vanaf php 5).
Constructors zijn ook de reden waarom sommige classes complete zelfwerkende proggramma's zijn. Heb je geen constructor nodig? Maak er dan toch een aan. Het wordt namelijk altijd aangeraden om toch een constructor in je class te hebben.

Praktijk
Het is niet te moeilijk.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
class klasse {
    var
$vartje = array();
    function
klasse() {
        $this->functie();
    }

    function
functie() {
        echo 'Functie gedaan';
    }
}

$obj = new klasse;
?>

Driemaal raden wat dit voor output geeft. Je kan ook variabelen doorgeven aan je constructor. Dat doe je zo:
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
16
17
18
19
<?php
class klasse {
    var
$vartje = array();
    function
klasse($text, $def = 'Iets', $etext = 'end') {
        $this->functie();
        echo "\n";
        echo $text;
        echo "\n";
        echo $def;
        echo "\n";
        echo $etext;
    }

    function
functie() {
        echo 'Functie gedaan';
    }
}

$obj = new klasse("Heeey!", "Doei!");
?>


Herriner je deze nog?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
class Klasse {
    //zal niet werken in php4:
    var $date = date('Y');
    var
$array = array('Klaas', $waarde);
    var
$stfu = $tsja;
    var
$owner = 'Klaas ' . 'of' . ' Jan';

    //zal wel werken
    var $arr = array('Dit', 'Dat', 'Achter', 'Voor');
    var
$string = "Heeey!";
}

?>

Dit kan je zo doen:
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
16
17
<?php
class Klasse {
    var
$datum = "";
    var
$array2 = array();
    var
$stfu;
    var
$owner = '';
    var
$arr = array('Dit', 'Dat', 'Achter', 'Voor');
    var
$string = "Heeey!";

    function
Klasse {
        global $waarde, $iets;
        $this->datum = date('Y')
        $this->array2 = array('Klaas', $waarde);
        $this->owner = 'Klaas ' . 'of' . ' Jan';
    }
}

?>

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Class
  3. Constructors
  4. Extending
  5. Paar andere dingen

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.