X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fmain%2Fclasses%2Fclass_BaseFrameworkSystem.php;h=4ad02eda4ed88e3e21542f8fd2cff71e5643c855;hp=a2dfabe22cd3989111da53b6c2ba8f3f77b57572;hb=de1f271c2bdb43725f6671ea6588a44cf33bf091;hpb=5f76c56b6b0f1f2fe62e04bf568e17323b67c946 diff --git a/inc/main/classes/class_BaseFrameworkSystem.php b/inc/main/classes/class_BaseFrameworkSystem.php index a2dfabe2..4ad02eda 100644 --- a/inc/main/classes/class_BaseFrameworkSystem.php +++ b/inc/main/classes/class_BaseFrameworkSystem.php @@ -2,8 +2,21 @@ // Own namespace namespace CoreFramework\Object; -// Load framework stuff +// Import framework stuff +use CoreFramework\Configuration\FrameworkConfiguration; +use CoreFramework\Factory\ObjectFactory; use CoreFramework\Generic\FrameworkInterface; +use CoreFramework\Generic\NullPointerException; +use CoreFramework\Loader\ClassLoader; +use CoreFramework\Manager\ManageableApplication; +use CoreFramework\Middleware\Debug\DebugMiddleware; +use CoreFramework\Registry\Register; +use CoreFramework\Registry\Generic\Registry; +use CoreFramework\Stream\Output\OutputStreamer; +use CoreFramework\Template\CompileableTemplate; + +// Import SPL stuff +use \stdClass; /** * The simulator system class is the super class of all other classes. This @@ -464,7 +477,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $this->setRealClass('DestructedObject'); } elseif ((defined('DEBUG_DESTRUCTOR')) && (is_object($this->getDebugInstance()))) { // Already destructed object - self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:] The object %s is already destroyed.', + self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('[%s:] The object %s is already destroyed.', __CLASS__, $this->__toString() )); @@ -554,7 +567,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Output stub message // @TODO __CLASS__ does always return BaseFrameworkSystem but not the extending (=child) class - self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[unknown::%s:] Stub! Args: %s', + self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('[unknown::%s:] Stub! Args: %s', $methodName, $argsString )); @@ -1188,7 +1201,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * @return void */ public final function setSocketResource ($socketResource) { - //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput($this->__toString() . '::' . __FUNCTION__ . ': socketResource=' . $socketResource . ',previous[' . gettype($this->socketResource) . ']=' . $this->socketResource); + //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput($this->__toString() . '::' . __FUNCTION__ . ': socketResource=' . $socketResource . ',previous[' . gettype($this->socketResource) . ']=' . $this->socketResource); $this->socketResource = $socketResource; } @@ -1198,7 +1211,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * @return $socketResource A valid socket resource */ public final function getSocketResource () { - //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput($this->__toString() . '::' . __FUNCTION__ . ': socketResource[' . gettype($this->socketResource) . ']=' . $this->socketResource); + //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput($this->__toString() . '::' . __FUNCTION__ . ': socketResource[' . gettype($this->socketResource) . ']=' . $this->socketResource); return $this->socketResource; } @@ -1209,7 +1222,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * @return void */ public final function setRegularExpression ($regularExpression) { - //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput($this->__toString() . '::' . __FUNCTION__ . ': regularExpression=' . $regularExpression . ',previous[' . gettype($this->regularExpression) . ']=' . $this->regularExpression); + //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput($this->__toString() . '::' . __FUNCTION__ . ': regularExpression=' . $regularExpression . ',previous[' . gettype($this->regularExpression) . ']=' . $this->regularExpression); $this->regularExpression = $regularExpression; } @@ -1219,7 +1232,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * @return $regularExpression A valid regular expression */ public final function getRegularExpression () { - //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput($this->__toString() . '::' . __FUNCTION__ . ': regularExpression[' . gettype($this->regularExpression) . ']=' . $this->regularExpression); + //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput($this->__toString() . '::' . __FUNCTION__ . ': regularExpression[' . gettype($this->regularExpression) . ']=' . $this->regularExpression); return $this->regularExpression; } @@ -1848,7 +1861,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Debug instance is there? if (!is_null($this->getDebugInstance())) { // Output stub message - self::createDebugInstance(__CLASS__)->debugOutput($stubMessage); + self::createDebugInstance(__CLASS__, __LINE__)->debugOutput($stubMessage); } else { // Trigger an error trigger_error($stubMessage); @@ -1884,10 +1897,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * Creates an instance of a debugger instance * * @param $className Name of the class (currently unsupported) + * @param $lineNumber Line number where the call was made * @return $debugInstance An instance of a debugger class * @deprecated Not fully, as the new Logger facilities are not finished yet. */ - public final static function createDebugInstance ($className) { + public final static function createDebugInstance ($className, $lineNumber = NULL) { // Is the instance set? if (!Registry::getRegistry()->instanceExists('debug')) { // Init debug instance @@ -1899,7 +1913,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $debugInstance = DebugMiddleware::createDebugMiddleware(FrameworkConfiguration::getSelfInstance()->getConfigEntry('debug_' . self::getResponseTypeFromSystem() . '_class'), $className); } catch (NullPointerException $e) { // Didn't work, no instance there - exit('Cannot create debugInstance! Exception=' . $e->__toString() . ', message=' . $e->getMessage()); + exit(sprintf('Cannot create debugInstance! Exception=%s,message=%s,className=%s,lineNumber=%d' . PHP_EOL, $e->__toString(), $e->getMessage(), $className, $lineNumber)); } // Empty string should be ignored and used for testing the middleware @@ -2172,7 +2186,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Get current array $fieldArray = $resultInstance->current(); - //* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput($fieldName.':
'.print_r($fieldArray, TRUE).'
'); + //* DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput($fieldName.':
'.print_r($fieldArray, TRUE).'
'); // Convert dashes to underscore $fieldName2 = self::convertDashesToUnderscores($fieldName); @@ -2183,10 +2197,10 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $fieldValue = $fieldArray[$fieldName2]; } elseif (defined('DEVELOPER')) { // Missing field entry, may require debugging - self::createDebugInstance(__CLASS__)->debugOutput('[' . __METHOD__ . ':' . __LINE__ . ']:fieldArray
=' . print_r($fieldArray, TRUE) . '
,fieldName=' . $fieldName . ' not found!'); + self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('[' . __METHOD__ . ':' . __LINE__ . ']:fieldArray
=' . print_r($fieldArray, TRUE) . '
,fieldName=' . $fieldName . ' not found!'); } else { // Missing field entry, may require debugging - self::createDebugInstance(__CLASS__)->debugOutput('[' . __METHOD__ . ':' . __LINE__ . ']:fieldName=' . $fieldName . ' not found!'); + self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('[' . __METHOD__ . ':' . __LINE__ . ']:fieldName=' . $fieldName . ' not found!'); } // Return it @@ -2212,7 +2226,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Get current array $fieldArray = $resultInstance->current(); - //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('[' . $this->__toString() . ':' . __LINE__ . '] fieldName=' . $fieldName . ',fieldArray=
'.print_r($fieldArray, TRUE).'
'); + //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('[' . $this->__toString() . ':' . __LINE__ . '] fieldName=' . $fieldName . ',fieldArray=
'.print_r($fieldArray, TRUE).'
'); // Convert dashes to underscore $fieldName = self::convertDashesToUnderscores($fieldName); @@ -2259,7 +2273,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Debug instance is there? if (!is_null($this->getDebugInstance())) { // Output stub message - self::createDebugInstance(__CLASS__)->debugOutput($message); + self::createDebugInstance(__CLASS__, __LINE__)->debugOutput($message); } else { // Trigger an error trigger_error($message . "
\n"); @@ -2447,7 +2461,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ protected function hex2asc ($hex) { // Check for length, it must be devideable by 2 - //* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('hex='.$hex); + //* DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('hex='.$hex); assert((strlen($hex) % 2) == 0); // Walk the string @@ -2515,7 +2529,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { ); // And return it - //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput($this->__toString() . ': cacheKey=' . $cacheKey); + //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput($this->__toString() . ': cacheKey=' . $cacheKey); return $cacheKey; } @@ -3298,7 +3312,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ protected function packString ($str) { // Debug message - //* NOISY-DEBUG */ self::createDebugInstance(__CLASS__)->debugOutput('str=' . $str . ' - CALLED!'); + //* NOISY-DEBUG */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('str=' . $str . ' - CALLED!'); // First compress the string (gzcompress is okay) $str = gzcompress($str); @@ -3333,7 +3347,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } // END - for // Return it - //* NOISY-DEBUG */ self::createDebugInstance(__CLASS__)->debugOutput('packed=' . $packed . ' - EXIT!'); + //* NOISY-DEBUG */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('packed=' . $packed . ' - EXIT!'); return $packed; }