18 private $scopeResolverPool;
23 private $resolvedScopeCodes = [];
30 $this->scopeResolverPool = $scopeResolverPool;
40 public function resolve($scopeType, $scopeCode)
42 if (isset($this->resolvedScopeCodes[$scopeType][$scopeCode])) {
43 return $this->resolvedScopeCodes[$scopeType][$scopeCode];
45 if (($scopeCode ===
null || is_numeric($scopeCode))
48 $scopeResolver = $this->scopeResolverPool->get($scopeType);
49 $resolverScopeCode = $scopeResolver->getScope($scopeCode);
51 $resolverScopeCode = $scopeCode;
55 $resolverScopeCode = $resolverScopeCode->getCode();
58 $this->resolvedScopeCodes[$scopeType][$scopeCode] = $resolverScopeCode;
59 return $resolverScopeCode;
69 $this->resolvedScopeCodes = [];
__construct(ScopeResolverPool $scopeResolverPool)
resolve($scopeType, $scopeCode)