]> git.mxchange.org Git - core.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Sat, 7 Nov 2020 20:59:42 +0000 (21:59 +0100)
committerRoland Häder <roland@mxchange.org>
Sat, 7 Nov 2020 20:59:42 +0000 (21:59 +0100)
- let's get rid of own ObjectFactory::createObjectByName() construct and use the
  flexible (configurable) ObjectFactory::createObjectByConfiguredName() approach

Signed-off-by: Roland Häder <roland@mxchange.org>
application/tests/class_ApplicationHelper.php
application/tests/config.php
framework/main/classes/resolver/controller/class_BaseControllerResolver.php
framework/main/tests/resolver/controller/class_TestsConsoleControllerResolver.php

index 5224a07e997704a4a254f7c5471cabdf3c249b10..1a50658da674f3143b8cfe259b4dca0ba2d10f38 100644 (file)
@@ -140,16 +140,17 @@ class ApplicationHelper extends BaseApplication implements ManageableApplication
                        $requestInstance->setRequestElement('command', $commandName);
                }
 
-               // Get a controller resolver
-               $resolverClass = sprintf(
-                       'Org\Mxchange\CoreFramework\Tests\Resolver\Controller\%s',
-                       StringUtils::convertToClassName(sprintf(
-                               '%s_%s_controller_resolver',
-                               $this->getAppShortName(),
-                               FrameworkBootstrap::getRequestTypeFromSystem()
-                       ))
+               // Configuration entry key
+               $configEntry = sprintf(
+                       '%s_%s_controller_resolver_class',
+                       $this->getAppShortName(),
+                       FrameworkBootstrap::getRequestTypeFromSystem()
                );
-               $resolverInstance = ObjectFactory::createObjectByName($resolverClass, array($commandName));
+
+               // Get a controller resolver instance
+               $resolverInstance = ObjectFactory::createObjectByConfiguredName($configEntry, [
+                       $commandName,
+               ]);
 
                // Get a controller instance as well
                $this->setControllerInstance($resolverInstance->resolveController());
index ee1d3c7e577e071390764d303fe0279862f4b697..3594c9acd9bdb9e1d54fd6e2e24ef2741c57acee 100644 (file)
@@ -56,3 +56,6 @@ $cfg->setConfigEntry('tests_php_requirements_filter_class', 'Org\Mxchange\CoreFr
 
 // CFG: TEST-CONFIGURATION-CLASSES-LOADABLE-TEST-FILTER-CLASS
 $cfg->setConfigEntry('tests_configuration_classes_loadable_test_filter_class', 'Org\Mxchange\CoreFramework\Tests\Filter\Configuration\Classes\TestConfigurationLoadableClassesFilter');
+
+// CFG: TEST-CONSOLE-CONTROLLER-RESOLVER-CLASS
+$cfg->setConfigEntry('tests_console_controller_resolver_class', 'Org\Mxchange\CoreFramework\Tests\Resolver\Controller\TestsConsoleControllerResolver');
index c3b45fca0a729047b04b1ad09edd756a1e8962aa..ddad2563af3850b2d408236b0205255e3ed12f08 100644 (file)
@@ -84,7 +84,7 @@ abstract class BaseControllerResolver extends BaseResolver {
         * @throws      InvalidControllerException      Thrown if even the requested
         *                                                                              controller class is missing (bad!)
         */
-       protected function loadController ($controllerName) {
+       protected function loadController (string $controllerName) {
                // Cache default controller
                $defaultController = FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('default_' . strtolower($this->getClassPrefix()) . '_controller');
 
index 4ab501d757c5d14f16d77a8e4cb16dc38d0e319b..330956990e225d5c00826b26d8f37783683f8dc5 100644 (file)
@@ -56,7 +56,7 @@ class TestsConsoleControllerResolver extends BaseControllerResolver implements C
         * @throws      InvalidArgumentException                Thrown if default command is not set
         * @throws      InvalidControllerException      Thrown if default controller is invalid
         */
-       public static final function createTestsConsoleControllerResolver ($controllerName) {
+       public static final function createTestsConsoleControllerResolver (string $controllerName) {
                // Create the new instance
                $resolverInstance = new TestsConsoleControllerResolver();