X-Git-Url: https://git.mxchange.org/?p=shipsimu.git;a=blobdiff_plain;f=application%2Fship-simu%2Fclass_ApplicationHelper.php;h=9d40b3d915ee3e04433e0dbd30e956f2401b6a3a;hp=e0a772878549254dca5cc8eb40eb239ed165184c;hb=d3ac3088a75edd47f1b2a6f635fe2116129ecfd5;hpb=1655bfb47ca0dd174e374d70d1aaad4293346379 diff --git a/application/ship-simu/class_ApplicationHelper.php b/application/ship-simu/class_ApplicationHelper.php index e0a7728..9d40b3d 100644 --- a/application/ship-simu/class_ApplicationHelper.php +++ b/application/ship-simu/class_ApplicationHelper.php @@ -80,11 +80,11 @@ class ApplicationHelper extends BaseApplication implements ManageableApplication * * @return $thisInstance An instance of this class */ - public final static function getInstance () { + public static final function getInstance () { // Is the instance there? if (is_null(self::$thisInstance)) { self::$thisInstance = new ApplicationHelper(); - } + } // END - if // Return the instance return self::$thisInstance; @@ -172,15 +172,22 @@ class ApplicationHelper extends BaseApplication implements ManageableApplication * @return void */ public final function entryPoint () { + // Set this application in registry + Registry::getRegistry()->addInstance('app', $this); + + // Analyze the environment for type of response/request + $type = ConsoleTools::analyzeEnvironmentForType(); + $classType = ConsoleTools::analyzeEnvironmentForClassType(); + // Create a new request object - $requestInstance = ObjectFactory::createObjectByName('HttpRequest'); + $requestInstance = ObjectFactory::createObjectByName(ucfirst($type) . 'Request'); // Remember request instance here $this->setRequestInstance($requestInstance); // Default response is HTTP (HTML page) and type is 'Web' - $response = 'http'; - $responseType = 'web'; + $response = $type; + $responseType = $classType; // Do we have another response? if ($requestInstance->isRequestElementSet('request')) { @@ -215,6 +222,12 @@ class ApplicationHelper extends BaseApplication implements ManageableApplication // Get a controller instance as well $this->controllerInstance = $resolverInstance->resolveController(); + // Get a web output class + $outputInstance = ObjectFactory::createObjectByConfiguredName('output_class', array($this)); + + // Set it in this application + $this->setWebOutputInstance($outputInstance); + // Handle the request $this->controllerInstance->handleRequest($requestInstance, $responseInstance); }