|
<?php
/**
* singleton design pattern
* create single static object instance and return reference
* @parameter className class name of object
* @return reference to object
*/
function &createObject($className) {
static $objectReference;
if (isset($objectReference) == FALSE) { // check objectReference is defined
if (class_exists($className)) { // check if class is defined
$objectReference = new $className;
} else {
die("createObject error, class $className not defined ");
}
} else {
if (get_class($objectReference) != $className) {
die("createObject error, object must be from type $className");
}
}
return $objectReference;
}
?>
|