]> git.mxchange.org Git - core.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Fri, 22 Aug 2025 03:28:12 +0000 (05:28 +0200)
committerRoland Häder <roland@mxchange.org>
Fri, 22 Aug 2025 03:28:12 +0000 (05:28 +0200)
- invoking getIteratorInstance() and then checking its type is "abusive" to a
  getter method, let's use isIteratorInstanceSet() instead

framework/main/classes/registry/class_BaseRegistry.php
framework/main/interfaces/registry/object/class_ObjectRegister.php

index b09f2e4e98bb9434dde80c0154aaf3a96cfab5b6..a259a0da66c17506ca962f69a9960650972c22e6 100644 (file)
@@ -70,18 +70,19 @@ abstract class BaseRegistry extends BaseFrameworkSystem implements Register, Reg
         * @return      $iteratorInstance       An instance of a Iterator class
         */
        public function getIterator (array $onlyRegistries = []): Traversable {
-               // Get iterator
+               // Trace message
                /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('BASE-REGISTRY: onlyRegistries()=%d - CALLED!', count($onlyRegistries)));
-               $iteratorInstance = $this->getIteratorInstance();
 
                // Is it set?
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugMessage(sprintf('BASE-REGISTRY: iteratorInstance[]=%s', gettype($iteratorInstance)));
-               if (is_null($iteratorInstance)) {
+               if (!$this->isIteratorInstanceSet()) {
                        // Then instance it
                        $iteratorInstance = ObjectFactory::createObjectByConfiguredName('registry_iterator_class', [$this]);
 
                        // ... and set it here
                        $this->setIteratorInstance($iteratorInstance);
+               } else {
+                       // Get iterator oinstance
+                       $iteratorInstance = $this->getIteratorInstance();
                }
 
                // Init iterator instance
index cdc9b8cb8ef21a3da7533c11e57dbcf70928a501..0bd9867e4e40f12f15db2d694fb590faf9d6097f 100644 (file)
@@ -51,7 +51,7 @@ interface ObjectRegister extends Register {
         *
         * @return      $instanceRegistry       The whole instance registry array
         */
-       function getInstanceRegistry ();
+       function getInstanceRegistry (): array;
 
        /**
         * Gets a registered instance or null if not found