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