[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не работает invoke в статическом объекте
Gradus

class store{

private static $instance;

public static function getInstance($path = 'systems')
{
if (empty(self::$instance[$path]))
{
self::$instance[$path] = new self($path);
}
return self::$instance[$path];
}

public function __invoke(){
echo 'run invoke';
}
}


class test{
private static $sysClassReturnObj;


function __construct(){
self::$sysClassReturnObj = store::getInstance();
}

static function sys( $path_name = null ){
return self::$sysClassReturnObj( );
}
}




# 1
# run invoke

$sysClassReturnObj = store::getInstance();
$sysClassReturnObj();


# 2
# error:
# - Undefined variable: sysClassReturnObj
# - Function name must be a string invoke

$t = new test;
$t::sys();

Почему ошибка во втором варианте вызова __invoke ?
Если объект статический, то ошибки!
self::$sysClassReturnObj = store::getInstance();
return self::$sysClassReturnObj( );


_____________
ДАВАЙ ДЕНЬГИ
R543264623869
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.