A switch statement can accomplish what you seek. <?php class MyClass { static $instance; protected function __construct() {} static function getInstance() { if (!self::$instance) { self::$instance = new MyClass(); } return self::$instance; } } function getSingleton($class_singleton) { switch(strtoupper($class_singleton)) { case 'MYCLASS': $singleton = MyClass::getInstance(); break; default: $singleton = "Unable to load singleton for $class_singleton"; break; } return $singleton; } for ($i = 0; $i <10; $i++) { $class = ((3 > $i) ? 'MyClass' : null); $singleton[] = getSingleton($class); } var_dump($singleton); ?> -- Teach a man to fish... NEW? | http://www.catb.org/~esr/faqs/smart-questions.html STFA | http://marc.theaimsgroup.com/?l=php-general&w=2 STFM | http://php.net/manual/en/index.php STFW | http://www.google.com/search?q=php LAZY | http://mycroft.mozdev.org/download.html?name=PHP&submitform=Find+search+plugins
Attachment:
signature.asc
Description: OpenPGP digital signature