Skip to content

Commit

Permalink
Update RemoteAutoloader.php
Browse files Browse the repository at this point in the history
  • Loading branch information
wehowski authored Jul 31, 2021
1 parent af0c310 commit 239804f
Showing 1 changed file with 45 additions and 25 deletions.
70 changes: 45 additions & 25 deletions src/implementations/autoloading/RemoteAutoloader.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@




class RemoteAutoloader
{

Expand Down Expand Up @@ -189,43 +188,64 @@ class RemoteAutoloader
public static function getInstance($server = '03.webfan.de', $register = true, $version = 'latest', $allowFromSelfOrigin = false, $salted = false,
$classMap = null, $cacheDirOrAccessLevel = self::ACCESS_LEVEL_SHARED, $cacheLimit = null, $password = null){


$key = static::ik();
if(!is_array($classMap)){
$classMap = self::CLASSMAP_DEFAULTS;
}



if(is_array($server)){
// $arr = [];
foreach($server as $s){
// $arr[]=
self::getInstance($s['server'], $s['register'], $s['version'], $s['allowFromSelfOrigin'], $s['salted'], $s['classmap'], $s['cacheDirOrAccessLevel'], $s['cacheLimit'], $s['password']);
$instance = [];
foreach($server as $indexOrServer => $_s){
$s=array_merge($_s, [
'server' => (is_string($indexOrServer))?$indexOrServer:$server,
'register'=>$register,
'version'=>$version,
'allowFromSelfOrigin'=>$allowFromSelfOrigin,
'salted'=>$salted,
'classmap'=>(is_string($indexOrServer)&&is_string($_s))?[$indexOrServer=>$_s]:$classmap,
'cacheDirOrAccessLevel'=>$cacheDirOrAccessLevel,
'cacheLimit'=>$cacheLimit,
'password'=>$password,
]);
$instance[(is_string($indexOrServer))?$indexOrServer:$_s] = self::getInstance($s['server'], $s['register'], $s['version'], $s['allowFromSelfOrigin'], $s['salted'], $s['classmap'], $s['cacheDirOrAccessLevel'], $s['cacheLimit'], $s['password']);
}

// if(2 > count(func_get_args()) ){
// return self::$instances[count(self::$instances)-1];
// }

$server = 'file://'.getcwd().\DIRECTORY_SEPARATOR;
///$key = sha1(getcwd()).'.localhost';
}//elseif(is_callable($server)){
// $key = \spl_object_id($server);
// }elseif(is_string($server)){
// $key = $server;
// }

if(!isset(self::$instances[static::ik()])){
// self::$instances[$key] =
new self($server, $register, $version, $allowFromSelfOrigin, $salted, $classMap, $cacheDirOrAccessLevel, $cacheLimit, $password);
//$server = 'file://'.getcwd().\DIRECTORY_SEPARATOR;

}else{
$key = static::ik($server, $classMap);
if(!isset(self::$instances[$key])){

self::$instances[$key] = new self($server,
$register,
$version,
$allowFromSelfOrigin,
$salted,
$classMap,
$cacheDirOrAccessLevel,
$cacheLimit,
$password);
}
$instance = self::$instances[$key];
}



return self::$instances[static::ik()];
return $instance;
}


public static function ik(){
return \getmypid();
public static function ik($server, $classMap){
if(is_array($classMap)){
ksort($classMap);
}
return sha1(serialize([$server, $classMap]));
}


public function __construct($server = 'frdl.webfan.de',
protected function __construct($server = '03.webfan.de',
$register = true,
$version = 'latest',
$allowFromSelfOrigin = false,
Expand Down

0 comments on commit 239804f

Please sign in to comment.