This repository was archived by the owner on Feb 6, 2020. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change 17
17
use ProxyManager \GeneratorStrategy \EvaluatingGeneratorStrategy ;
18
18
use Zend \ServiceManager \Exception \ContainerModificationsNotAllowedException ;
19
19
use Zend \ServiceManager \Exception \InvalidArgumentException ;
20
+ use Zend \ServiceManager \Exception \InvalidServiceException ;
20
21
use Zend \ServiceManager \Exception \ServiceNotCreatedException ;
21
22
use Zend \ServiceManager \Factory \AbstractFactoryInterface ;
22
23
use Zend \ServiceManager \Factory \DelegatorFactoryInterface ;
@@ -569,15 +570,16 @@ private function resolveInitializers(array $initializers)
569
570
private function resolveAliases (array $ aliases )
570
571
{
571
572
foreach ($ aliases as $ alias => $ service ) {
572
- // avoiding infinite loops by removing already resolved aliases
573
- $ currentAliases = $ this ->aliases ;
574
- $ name = $ alias ;
573
+ $ visited = [];
574
+ $ name = $ alias ;
575
575
576
- while (isset ($ currentAliases [$ name ])) {
577
- $ oldName = $ name ;
578
- $ name = $ currentAliases [$ name ];
576
+ while (isset ($ this ->aliases [$ name ])) {
577
+ if (isset ($ visited [$ name ])) {
578
+ throw new InvalidServiceException ('YADDA ' );
579
+ }
579
580
580
- unset($ currentAliases [$ oldName ]);
581
+ $ visited [$ name ] = true ;
582
+ $ name = $ this ->aliases [$ name ];
581
583
}
582
584
583
585
$ this ->resolvedAliases [$ alias ] = $ name ;
You can’t perform that action at this time.
0 commit comments