- print_r: documentation ( source)
<?php
class Loader {
private static $instances;
public static function get_instance($class) {
if(!isset(self::$instances[$class])) {
self::$instances[$class] = new $class();
}
return self::$instances[$class];
}
public static function debug() { print_r(self::$instances); }
}
class One{ public function __toString() { return 'One'; } }
class Two{ public function __toString() { return 'Two'; } }
class Foo{ public function __toString() { return 'Foo'; } }
$foo = Loader::get_instance('Foo');
$one = Loader::get_instance('One');
$two = Loader::get_instance('Two');
$foo2 = Loader::get_instance('Foo');
$foo3 = Loader::get_instance('Foo');
Loader::debug();