Thema: Singleton
Einzelnen Beitrag anzeigen
  #1  
Alt 30.03.2004, 14:59:58
Benutzerbild von Taresto
Taresto Taresto ist offline
Anfänger
 
Registriert seit: Apr 2003
Ort: Schweiz
Beiträge: 19
Taresto eine Nachricht über ICQ schicken
Singleton

Ich bin gerade etwas mit Singletons am üben, da ich diese verwenden möchte.
Funktionieren tuts auch, nur habe ich jetzt da irgendwie ein Verständnisproblem warum der counter, welcher im Singleton integriert ist, nicht hinaufzählt.
Vielleicht kann mir ja jemand helfen den Knopf zu lösen.

Hier die Singleton-Klasse:
PHP-Code:
<?php
class Singleton {

    var 
$count;
    
    function 
Singleton(){
        
$this->count 0;
    }
    
    function 
count(){
        
$this->count $this->count+1;
        
$c $this->count;
        return 
$c;
    }

    function &
singInstance() {
        static 
$instance;
        if(!
$instance) {
            
$instance = new Singleton();
        }
        return 
$instance;
    }
}
?>
Die ausführende Klasse:
PHP-Code:
<?php
require_once 'Singelton.php';

class  
TestSingelton{
    var 
$count;
    var 
$string;
    function 
TestSingelton($string){
        
$this->string $string;
        
$this->count 0;
    }
    
    function 
echoCount(){
        
$sing Singleton::singInstance();
        echo 
'Klasse: '.$this->string.'; count: '.$this->count++.'; singelton-count: '.$sing->count().'<br>';
    }
}

$ts1 = new TestSingelton('TS_1');
$ts2 = new TestSingelton('TS_2');
$ts3 = new TestSingelton('TS_3');

$ts1->echoCount();
$ts2->echoCount();
$ts3->echoCount();
$ts1->echoCount();
$ts2->echoCount();
$ts3->echoCount();
$ts3->echoCount();
$ts2->echoCount();
$ts1->echoCount();
?>
Die ausgabe ist:
Zitat:
Klasse: TS_1; count: 0; singelton-count: 1
Klasse: TS_2; count: 0; singelton-count: 1
Klasse: TS_3; count: 0; singelton-count: 1
Klasse: TS_1; count: 1; singelton-count: 1
Klasse: TS_2; count: 1; singelton-count: 1
Klasse: TS_3; count: 1; singelton-count: 1
Klasse: TS_3; count: 2; singelton-count: 1
Klasse: TS_2; count: 2; singelton-count: 1
Klasse: TS_1; count: 2; singelton-count: 1
nochmals, warum zählt der singleton-counter nicht hoch??
danke jetzt schon für eure hilfe
mfg reto
Mit Zitat antworten