Хм?
Если вы делаете
$core = new Loader('Core');
Тогда $ core будет экземпляром Loader ...
PS: конструкторы не возвращают значение.
Вам вообще не нужно создавать экземпляр Loader.
Сделайте это:
<?php
class Loader {
private static $instances;
public static function instance($class) {
if(!isset(self::$instances[$class])) {
self::$instances[$class] = new $class();
}
return self::$instances[$class];
}
}
class Core {
}
$core = Loader::instance('Core');
print_r($core);
Или вы могли бы сделать намного проще:
<?php
function Load($class)
{
static $instances;
if(!isset($instances[$class]))
$instances[$class] = new $class();
return $instances[$class];
}
class Core {
}
$core = Load('Core');
print_r($core);