Voting

: min(three, three)?
(Example: nine)

The Note You're Voting On

php at mikebird dot co dot uk
17 years ago
This should make life easier and neater if you have a project with a lot of singleton classes e.g.

<?php

class Singleton {

public static
$objInstance;

public static function &
getInstance() {
if (
self::$objInstance == null) {
$strClass = static::getClass();
self::$objInstance = new $strClass;
}
return
self::$objInstance;
}

public static function
getClass() {
return
__CLASS__;
}

}

class
Foo extends Singleton {

public
$intBar;

public function
__construct() {
$this->intBar = 1;
}

public static function
getClass() {
return
__CLASS__;
}

}


$objFooTwo = Foo::getInstance();
$objFooTwo->intBar = 2;

$objFooOne = Foo::getInstance();

if (
$objFooOne->intBar == $objFooTwo->intBar) {
echo
'it is a singleton';
} else {
echo
'it is not a singleton';
}

?>

The above will output 'it is a singleton'. The obvious downfall to this method is not being able to give arguments to the constructor.

<< Back to user notes page

To Top