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