<?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)'); 
 
?> 
 
 |