0
1
2
3
<?php 
/*

Gebruik van het 'static' keyword zorgt ervoor dat betreffende methods of properties gebruikt kunnen worden zonder dat
 er een instantie van de class aangemaakt hoeft te worden. Omdat de class niet geïnstantieerd wordt, is het ook niet
 mogelijk om gebruik te maken van $this, aangezien deze variabele naar het huidige object verwijst. 
 Static properties behoren dan ook tot de class zelf en niet tot een object van die class. Om properties of methods
 van binnenuit de class te benaderen, gebruiken we het 'self' keyword. 

*/
class Counter {
    private static 
$_count 0;
    
    public function 
__construct() {
        
self::$_count++;
    }
    
    public static function 
getCount() {
        return 
self::$_count;
    }
}

echo 
Counter::getCount().'<br />';

$x = new Counter;
echo 
Counter::getCount().'<br />';

$y = new Counter;
echo 
Counter::getCount().'<br />';

$z = new Counter;
echo 
Counter::getCount().'<br />';


show_source(__FILE__);
?>