X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fclass_BaseFrameworkSystem.php;h=a294e8ee99a645c1a4db7a6834b205b7103e19c1;hb=69b003f77062e6008f85b074c88aa922b0135498;hp=cf0e5da7d4f96653cd13b68bd8bb49e4d6971152;hpb=d26e71af1e28dc1429823bdec244df6303f9b2fb;p=core.git diff --git a/inc/classes/main/class_BaseFrameworkSystem.php b/inc/classes/main/class_BaseFrameworkSystem.php index cf0e5da7..a294e8ee 100644 --- a/inc/classes/main/class_BaseFrameworkSystem.php +++ b/inc/classes/main/class_BaseFrameworkSystem.php @@ -1038,7 +1038,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * @param $protocolInstance An instance of an HandleableProtocol * @return void */ - public final function setProtocolInstance (HandleableProtocol $protocolInstance = NULL) { + public final function setProtocolInstance (HandleableProtocol $protocolInstance) { $this->protocolInstance = $protocolInstance; } @@ -1322,6 +1322,22 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { return $this->pointerInstance; } + /** + * Unsets pointer instance which triggers a call of __destruct() if the + * instance is still there. This is surely not fatal on already "closed" + * file pointer instances. + * + * I don't want to mess around with above setter by giving it a default + * value NULL as setter should always explicitly only set (existing) object + * instances and NULL is NULL. + * + * @return void + */ + protected final function unsetPointerInstance () { + // Simply it to NULL + $this->pointerInstance = NULL; + } + /** * Setter for Indexable instance * @@ -1493,7 +1509,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } /** - * Prepare the template engine (WebTemplateEngine by default) for a given + * Prepare the template engine (HtmlTemplateEngine by default) for a given * application helper instance (ApplicationHelper by default). * * @param $applicationInstance An application helper instance or @@ -1516,7 +1532,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } // END - if // Initialize the template engine - $templateInstance = ObjectFactory::createObjectByConfiguredName('web_template_class'); + $templateInstance = ObjectFactory::createObjectByConfiguredName('html_template_class'); // Return the prepared instance return $templateInstance; @@ -1654,7 +1670,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Try it try { // Get a debugger instance - $debugInstance = DebugMiddleware::createDebugMiddleware(FrameworkConfiguration::getSelfInstance()->getConfigEntry('debug_class')); + $debugInstance = DebugMiddleware::createDebugMiddleware(FrameworkConfiguration::getSelfInstance()->getConfigEntry('debug_' . self::getResponseTypeFromSystem() . '_class')); } catch (NullPointerException $e) { // Didn't work, no instance there exit('Cannot create debugInstance! Exception=' . $e->__toString() . ', message=' . $e->getMessage()); @@ -2207,14 +2223,17 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * * @return $responseType Analyzed response type */ - protected function getResponseTypeFromSystem () { + protected static function getResponseTypeFromSystem () { // Default is console $responseType = 'console'; // Is 'HTTP_HOST' set? if (isset($_SERVER['HTTP_HOST'])) { - // Then it is a HTTP response/request - $responseType = 'http'; + /* + * Then it is a HTML response/request as RSS and so on may be + * transfered over HTTP as well. + */ + $responseType = 'html'; } // END - if // Return it @@ -2933,6 +2952,28 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { return $isValid; } + /** + * Initializes the web output instance + * + * @return void + */ + protected function initWebOutputInstance () { + // Get application instance + $applicationInstance = Registry::getRegistry()->getInstance('app'); + + // Is this a response instance? + if ($this instanceof Responseable) { + // Then set it in application instance + $applicationInstance->setResponseInstance($this); + } // END - if + + // Init web output instance + $outputInstance = ObjectFactory::createObjectByConfiguredName('output_class', array($applicationInstance)); + + // Set it locally + $this->setWebOutputInstance($outputInstance); + } + /** * Translates boolean TRUE to 'Y' and FALSE to 'N' *