<?php
include 'cSingleton.php';
/** * Example */ // Simple class class A extends aSingleton { protected $prefix = 'A_';
function __construct__() { echo "Create a new 'A' instance.</br>"; }
function write($text) { echo $this->prefix.$text.'</br>'; }
function setPrefix($prefix) { $this->prefix = $prefix; } }
// Extended singleton class class B extends A { protected $prefix = 'B_';
function __construct__() { echo "Create a new 'B' instance.</br>"; }
function plusz($a, $b) { echo $this->prefix.($a + $b).'</br>'; } }
// Singleton class with construct parameter. class C extends aSingleton { protected $prefix;
function __construct__() { $l_Arguments = func_get_args();
$this->setPrefix($l_Arguments[0]);
echo "Create a new 'C' instance.</br>"; }
function write($text) { echo $this->prefix.$text.'</br>'; }
function setPrefix($prefix) { $this->prefix = $prefix; } }
echo 'cSingleton v0.1 & aSingleton v0.1</br>'; echo '------------------------------------------------------</br>';
// Create a new 'A' class. $a = new A(); $a->write('HIHI(a)'); // This drop a E_USER_ERROR // $aa = new A(); // $aa->write('HIHI(a)');
// Create a new 'B' class with cSingleton. $b = cSingleton::getInstance('B'); $b->plusz(1,6); $b->write('HIHI(b)');
// Create a new 'C' class. // Created with one parameter. $c = cSingleton::getInstance('C', ':)_'); $c->write('HEHE(c)');
// The 'vmi_' isn't saved becouse only once use the constructor. $d = cSingleton::getInstance('C', 'vmi_'); // Get the 'C' class instance. $e = cSingleton::getInstance('C'); // Later PHP 5.3 // $f = C::getInstance();
$d->write('HEHE(d)'); $e->write('HEHE(e)'); // $f->write('HEHE(f)');
// Set a new prefix echo 'd-nél prefix váltás :D -re</br>'; $d->setPrefix(':D_');
// One instance. :) $c->write('LOL(c)'); $d->write('LOL(d)'); $e->write('LOL(e)'); // $f->write('HEHE(f)');
?>
|