X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=framework%2Fmain%2Fclasses%2Fclass_BaseFrameworkSystem.php;h=4b481128041aae298adee3ecf301c608ce063e49;hb=28ff0710d8eb3a2d0c1547d6ebeaae05eb50c7f6;hp=085abf3b4afdbe06f90c56fbbd8d94ca55f3728c;hpb=c1aadb61b45c15273c07c366887c8f58c53155e3;p=core.git diff --git a/framework/main/classes/class_BaseFrameworkSystem.php b/framework/main/classes/class_BaseFrameworkSystem.php index 085abf3b..4b481128 100644 --- a/framework/main/classes/class_BaseFrameworkSystem.php +++ b/framework/main/classes/class_BaseFrameworkSystem.php @@ -4,47 +4,29 @@ namespace Org\Mxchange\CoreFramework\Object; // Import framework stuff use Org\Mxchange\CoreFramework\Bootstrap\FrameworkBootstrap; -use Org\Mxchange\CoreFramework\Compressor\Compressor; -use Org\Mxchange\CoreFramework\Connection\Database\DatabaseConnection; use Org\Mxchange\CoreFramework\Criteria\Criteria; -use Org\Mxchange\CoreFramework\Criteria\Local\LocalSearchCriteria; -use Org\Mxchange\CoreFramework\Criteria\Local\LocalUpdateCriteria; use Org\Mxchange\CoreFramework\Crypto\Cryptable; -use Org\Mxchange\CoreFramework\Crypto\RandomNumber\RandomNumberGenerator; use Org\Mxchange\CoreFramework\Database\Frontend\DatabaseWrapper; use Org\Mxchange\CoreFramework\EntryPoint\ApplicationEntryPoint; use Org\Mxchange\CoreFramework\Factory\Database\Wrapper\DatabaseWrapperFactory; use Org\Mxchange\CoreFramework\Factory\ObjectFactory; -use Org\Mxchange\CoreFramework\Filesystem\Block; -use Org\Mxchange\CoreFramework\Filesystem\FilePointer; -use Org\Mxchange\CoreFramework\Filesystem\FrameworkDirectory; use Org\Mxchange\CoreFramework\Filesystem\PathWriteProtectedException; use Org\Mxchange\CoreFramework\Generic\FrameworkInterface; use Org\Mxchange\CoreFramework\Generic\NullPointerException; use Org\Mxchange\CoreFramework\Generic\UnsupportedOperationException; use Org\Mxchange\CoreFramework\Handler\Handleable; -use Org\Mxchange\CoreFramework\Helper\Helper; -use Org\Mxchange\CoreFramework\Index\Indexable; -use Org\Mxchange\CoreFramework\Lists\Listable; use Org\Mxchange\CoreFramework\Loader\ClassLoader; -use Org\Mxchange\CoreFramework\Localization\ManageableLanguage; use Org\Mxchange\CoreFramework\Manager\ManageableApplication; -use Org\Mxchange\CoreFramework\Menu\RenderableMenu; -use Org\Mxchange\CoreFramework\Middleware\Compressor\CompressorChannel; use Org\Mxchange\CoreFramework\Middleware\Debug\DebugMiddleware; -use Org\Mxchange\CoreFramework\Parser\Parseable; use Org\Mxchange\CoreFramework\Registry\GenericRegistry; use Org\Mxchange\CoreFramework\Result\Database\CachedDatabaseResult; use Org\Mxchange\CoreFramework\Result\Search\SearchableResult; -use Org\Mxchange\CoreFramework\Stacker\Stackable; use Org\Mxchange\CoreFramework\State\Stateable; use Org\Mxchange\CoreFramework\Stream\Input\InputStream; use Org\Mxchange\CoreFramework\Stream\Output\OutputStreamer; use Org\Mxchange\CoreFramework\Stream\Output\OutputStream; -use Org\Mxchange\CoreFramework\String\Utils\StringUtils; -use Org\Mxchange\CoreFramework\Template\CompileableTemplate; use Org\Mxchange\CoreFramework\User\ManageableAccount; -use Org\Mxchange\CoreFramework\Visitor\Visitor; +use Org\Mxchange\CoreFramework\Utils\String\StringUtils; // Import SPL stuff use \stdClass; @@ -92,21 +74,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac */ private $realClass = __CLASS__; - /** - * Search criteria instance - */ - private $searchInstance = NULL; - - /** - * Update criteria instance - */ - private $updateInstance = NULL; - - /** - * Template engine instance - */ - private $templateInstance = NULL; - /** * Database result instance */ @@ -117,11 +84,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac */ private $userInstance = NULL; - /** - * Instance of a RNG - */ - private $rngInstance = NULL; - /** * Instance of a crypto helper */ @@ -132,46 +94,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac */ private $iteratorInstance = NULL; - /** - * Instance of the list - */ - private $listInstance = NULL; - - /** - * Instance of a menu - */ - private $menuInstance = NULL; - - /** - * Instance of the image - */ - private $imageInstance = NULL; - - /** - * Instance of the stacker - */ - private $stackInstance = NULL; - - /** - * A Compressor instance - */ - private $compressorInstance = NULL; - - /** - * A Parseable instance - */ - private $parserInstance = NULL; - - /** - * A database wrapper instance - */ - private $databaseInstance = NULL; - - /** - * A helper instance for the form - */ - private $helperInstance = NULL; - /** * An instance of a InputStream class */ @@ -187,41 +109,11 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac */ private $handlerInstance = NULL; - /** - * Visitor handler instance - */ - private $visitorInstance = NULL; - /** * An instance of a database wrapper class */ private $wrapperInstance = NULL; - /** - * An instance of a file I/O pointer class (not handler) - */ - private $pointerInstance = NULL; - - /** - * An instance of an Indexable class - */ - private $indexInstance = NULL; - - /** - * An instance of a Block class - */ - private $blockInstance = NULL; - - /** - * A FrameworkDirectory instance - */ - private $directoryInstance = NULL; - - /** - * The concrete output instance - */ - private $outputInstance = NULL; - /** * State instance */ @@ -232,48 +124,10 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac */ private $callbackInstance = NULL; - /** - * Thousands separator - */ - private $thousands = '.'; // German - - /** - * Decimal separator - */ - private $decimals = ','; // German - /** * Generic array */ - private $genericArray = array(); - - /** - * Array with bitmasks and such for pack/unpack methods to support both - * 32-bit and 64-bit systems - */ - private $packingData = array( - 32 => array( - 'step' => 3, - 'left' => 0xffff0000, - 'right' => 0x0000ffff, - 'factor' => 16, - 'format' => 'II', - ), - 64 => array( - 'step' => 7, - 'left' => 0xffffffff00000000, - 'right' => 0x00000000ffffffff, - 'factor' => 32, - 'format' => 'NN' - ) - ); - - /** - * Simple 64-bit check, thanks to "Salman A" from stackoverflow.com: - * - * The integer size is 4 bytes on 32-bit and 8 bytes on a 64-bit system. - */ - private $archArrayElement = false; + private $genericArray = []; /*********************** * Exception codes.... * @@ -344,50 +198,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac const EXCEPTION_INVALID_SOCKET = 0x03e; const EXCEPTION_SELF_INSTANCE = 0x03f; - /** - * Hexadecimal->Decimal translation array - */ - private static $hexdec = array( - '0' => 0, - '1' => 1, - '2' => 2, - '3' => 3, - '4' => 4, - '5' => 5, - '6' => 6, - '7' => 7, - '8' => 8, - '9' => 9, - 'a' => 10, - 'b' => 11, - 'c' => 12, - 'd' => 13, - 'e' => 14, - 'f' => 15 - ); - - /** - * Decimal->hexadecimal translation array - */ - private static $dechex = array( - 0 => '0', - 1 => '1', - 2 => '2', - 3 => '3', - 4 => '4', - 5 => '5', - 6 => '6', - 7 => '7', - 8 => '8', - 9 => '9', - 10 => 'a', - 11 => 'b', - 12 => 'c', - 13 => 'd', - 14 => 'e', - 15 => 'f' - ); - /** * Startup time in miliseconds */ @@ -407,10 +217,7 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac if (self::$startupTime == 0) { // Then set it self::$startupTime = microtime(true); - } // END - if - - // Set array element - $this->archArrayElement = (PHP_INT_SIZE === 8 ? 64 : 32); + } } /** @@ -445,7 +252,7 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac * @args $args Arguments passed to the method * @return void */ - public final function __call ($methodName, $args) { + public final function __call (string $methodName, array $args = NULL) { // Set self-instance self::$instance = $this; @@ -464,11 +271,9 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac * @return void * @throws InvalidArgumentException If self::$instance is not a framework's own object */ - public static final function __callStatic ($methodName, $args) { - // Trace message - //* PRINT-DEBUG: */ printf('[%s:%d]: methodName=%s,args[]=%s - CALLED!' . PHP_EOL, __METHOD__, __LINE__, $methodName, gettype($args)); - + public static final function __callStatic (string $methodName, array $args = NULL) { // Init argument string and class name + //* PRINT-DEBUG: */ printf('[%s:%d]: methodName=%s,args[]=%s - CALLED!' . PHP_EOL, __METHOD__, __LINE__, $methodName, gettype($args)); $argsString = ''; $className = 'unknown'; @@ -522,19 +327,16 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac // Comma for next one $argsString .= ', '; - } // END - foreach + } // Last comma found? if (substr($argsString, -2, 1) == ',') { // Remove last comma $argsString = substr($argsString, 0, -2); - } // END - if + } // Close braces $argsString .= ')'; - } else { - // Invalid arguments! - $argsString = sprintf('!INVALID:%s!', gettype($args)); } // Output stub message @@ -565,7 +367,7 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac * @param $value Value to store * @return void */ - public final function __set ($name, $value) { + public final function __set (string $name, $value) { $this->debugBackTrace(sprintf('Tried to set a missing field. name=%s, value[%s]=%s', $name, gettype($value), @@ -579,7 +381,7 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac * @param $name Name of the field/attribute * @return void */ - public final function __get ($name) { + public final function __get (string $name) { $this->debugBackTrace(sprintf('Tried to get a missing field. name=%s', $name )); @@ -591,7 +393,7 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac * @param $name Name of the field/attribute * @return void */ - public final function __unset ($name) { + public final function __unset (string $name) { $this->debugBackTrace(sprintf('Tried to unset a missing field. name=%s', $name )); @@ -633,9 +435,9 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac * @param $realClass Class name (string) * @return void */ - public final function setRealClass ($realClass) { + public final function setRealClass (string $realClass) { // Set real class - $this->realClass = (string) $realClass; + $this->realClass = $realClass; } /** @@ -658,63 +460,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac return $this->resultInstance; } - /** - * Setter for template engine instances - * - * @param $templateInstance An instance of a template engine class - * @return void - */ - protected final function setTemplateInstance (CompileableTemplate $templateInstance) { - $this->templateInstance = $templateInstance; - } - - /** - * Getter for template engine instances - * - * @return $templateInstance An instance of a template engine class - */ - protected final function getTemplateInstance () { - return $this->templateInstance; - } - - /** - * Setter for search instance - * - * @param $searchInstance Searchable criteria instance - * @return void - */ - public final function setSearchInstance (LocalSearchCriteria $searchInstance) { - $this->searchInstance = $searchInstance; - } - - /** - * Getter for search instance - * - * @return $searchInstance Searchable criteria instance - */ - public final function getSearchInstance () { - return $this->searchInstance; - } - - /** - * Setter for update instance - * - * @param $updateInstance An instance of a LocalUpdateCriteria clase - * @return void - */ - public final function setUpdateInstance (LocalUpdateCriteria $updateInstance) { - $this->updateInstance = $updateInstance; - } - - /** - * Getter for update instance - * - * @return $updateInstance Updateable criteria instance - */ - public final function getUpdateInstance () { - return $this->updateInstance; - } - /** * Setter for debug instance * @@ -758,70 +503,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac return $webOutputInstance; } - /** - * Setter for database instance - * - * @param $databaseInstance The instance for the database connection (forced DatabaseConnection) - * @return void - */ - public final function setDatabaseInstance (DatabaseConnection $databaseInstance) { - GenericRegistry::getRegistry()->addInstance('db_instance', $databaseInstance); - } - - /** - * Getter for database layer - * - * @return $databaseInstance The database layer instance - */ - public final function getDatabaseInstance () { - // Get instance - $databaseInstance = GenericRegistry::getRegistry()->getInstance('db_instance'); - - // Return instance - return $databaseInstance; - } - - /** - * Setter for compressor channel - * - * @param $compressorInstance An instance of CompressorChannel - * @return void - */ - public final function setCompressorChannel (CompressorChannel $compressorInstance) { - GenericRegistry::getRegistry()->addInstance('compressor', $compressorInstance); - } - - /** - * Getter for compressor channel - * - * @return $compressorInstance The compressor channel - */ - public final function getCompressorChannel () { - $compressorInstance = GenericRegistry::getRegistry()->getInstance('compressor'); - return $compressorInstance; - } - - /** - * Private getter for language instance - * - * @return $langInstance An instance to the language sub-system - */ - protected final function getLanguageInstance () { - $langInstance = GenericRegistry::getRegistry()->getInstance('language'); - return $langInstance; - } - - /** - * Setter for language instance - * - * @param $langInstance An instance to the language sub-system - * @return void - * @see LanguageSystem - */ - public final function setLanguageInstance (ManageableLanguage $langInstance) { - GenericRegistry::getRegistry()->addInstance('language', $langInstance); - } - /** * Protected setter for user instance * @@ -841,25 +522,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac return $this->userInstance; } - /** - * Setter for RNG instance - * - * @param $rngInstance An instance of a random number generator (RNG) - * @return void - */ - protected final function setRngInstance (RandomNumberGenerator $rngInstance) { - $this->rngInstance = $rngInstance; - } - - /** - * Getter for RNG instance - * - * @return $rngInstance An instance of a random number generator (RNG) - */ - public final function getRngInstance () { - return $this->rngInstance; - } - /** * Setter for Cryptable instance * @@ -879,120 +541,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac return $this->cryptoInstance; } - /** - * Setter for the list instance - * - * @param $listInstance A list of Listable - * @return void - */ - protected final function setListInstance (Listable $listInstance) { - $this->listInstance = $listInstance; - } - - /** - * Getter for the list instance - * - * @return $listInstance A list of Listable - */ - protected final function getListInstance () { - return $this->listInstance; - } - - /** - * Setter for the menu instance - * - * @param $menuInstance A RenderableMenu instance - * @return void - */ - protected final function setMenuInstance (RenderableMenu $menuInstance) { - $this->menuInstance = $menuInstance; - } - - /** - * Getter for the menu instance - * - * @return $menuInstance A RenderableMenu instance - */ - protected final function getMenuInstance () { - return $this->menuInstance; - } - - /** - * Setter for image instance - * - * @param $imageInstance An instance of an image - * @return void - */ - public final function setImageInstance (BaseImage $imageInstance) { - $this->imageInstance = $imageInstance; - } - - /** - * Getter for image instance - * - * @return $imageInstance An instance of an image - */ - public final function getImageInstance () { - return $this->imageInstance; - } - - /** - * Setter for stacker instance - * - * @param $stackInstance An instance of an stacker - * @return void - */ - public final function setStackInstance (Stackable $stackInstance) { - $this->stackInstance = $stackInstance; - } - - /** - * Getter for stacker instance - * - * @return $stackInstance An instance of an stacker - */ - public final function getStackInstance () { - return $this->stackInstance; - } - - /** - * Setter for compressor instance - * - * @param $compressorInstance An instance of an compressor - * @return void - */ - public final function setCompressorInstance (Compressor $compressorInstance) { - $this->compressorInstance = $compressorInstance; - } - - /** - * Getter for compressor instance - * - * @return $compressorInstance An instance of an compressor - */ - public final function getCompressorInstance () { - return $this->compressorInstance; - } - - /** - * Setter for Parseable instance - * - * @param $parserInstance An instance of an Parseable - * @return void - */ - public final function setParserInstance (Parseable $parserInstance) { - $this->parserInstance = $parserInstance; - } - - /** - * Getter for Parseable instance - * - * @return $parserInstance An instance of an Parseable - */ - public final function getParserInstance () { - return $this->parserInstance; - } - /** * Setter for DatabaseWrapper instance * @@ -1012,25 +560,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac return $this->wrapperInstance; } - /** - * Setter for helper instance - * - * @param $helperInstance An instance of a helper class - * @return void - */ - protected final function setHelperInstance (Helper $helperInstance) { - $this->helperInstance = $helperInstance; - } - - /** - * Getter for helper instance - * - * @return $helperInstance An instance of a helper class - */ - public final function getHelperInstance () { - return $this->helperInstance; - } - /** * Getter for a InputStream instance * @@ -1088,25 +617,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac return $this->handlerInstance; } - /** - * Setter for visitor instance - * - * @param $visitorInstance A Visitor instance - * @return void - */ - protected final function setVisitorInstance (Visitor $visitorInstance) { - $this->visitorInstance = $visitorInstance; - } - - /** - * Getter for visitor instance - * - * @return $visitorInstance A Visitor instance - */ - protected final function getVisitorInstance () { - return $this->visitorInstance; - } - /** * Setter for Iterator instance * @@ -1126,98 +636,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac return $this->iteratorInstance; } - /** - * Setter for FilePointer instance - * - * @param $pointerInstance An instance of an FilePointer class - * @return void - */ - protected final function setPointerInstance (FilePointer $pointerInstance) { - $this->pointerInstance = $pointerInstance; - } - - /** - * Getter for FilePointer instance - * - * @return $pointerInstance An instance of an FilePointer class - */ - public final function getPointerInstance () { - 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 - * - * @param $indexInstance An instance of an Indexable class - * @return void - */ - protected final function setIndexInstance (Indexable $indexInstance) { - $this->indexInstance = $indexInstance; - } - - /** - * Getter for Indexable instance - * - * @return $indexInstance An instance of an Indexable class - */ - public final function getIndexInstance () { - return $this->indexInstance; - } - - /** - * Setter for Block instance - * - * @param $blockInstance An instance of an Block class - * @return void - */ - protected final function setBlockInstance (Block $blockInstance) { - $this->blockInstance = $blockInstance; - } - - /** - * Getter for Block instance - * - * @return $blockInstance An instance of an Block class - */ - public final function getBlockInstance () { - return $this->blockInstance; - } - - /** - * Setter for FrameworkDirectory instance - * - * @param $directoryInstance A FrameworkDirectory instance - * @return void - */ - protected final function setDirectoryInstance (FrameworkDirectory $directoryInstance) { - $this->directoryInstance = $directoryInstance; - } - - /** - * Getter for FrameworkDirectory instance - * - * @return $directoryInstance A FrameworkDirectory instance - */ - protected final function getDirectoryInstance () { - return $this->directoryInstance; - } - /** * Setter for state instance * @@ -1237,25 +655,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac return $this->stateInstance; } - /** - * Setter for output instance - * - * @param $outputInstance The debug output instance - * @return void - */ - public final function setOutputInstance (OutputStreamer $outputInstance) { - $this->outputInstance = $outputInstance; - } - - /** - * Getter for output instance - * - * @return $outputInstance The debug output instance - */ - public final function getOutputInstance () { - return $this->outputInstance; - } - /** * Setter for call-back instance * @@ -1305,35 +704,6 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac return crc32($this->__toString()); } - /** - * Formats computer generated price values into human-understandable formats - * with thousand and decimal separators. - * - * @param $value The in computer format value for a price - * @param $currency The currency symbol (use HTML-valid characters!) - * @param $decNum Number of decimals after commata - * @return $price The for the current language formated price string - * @throws MissingDecimalsThousandsSeparatorException If decimals or - * thousands separator - * is missing - */ - public function formatCurrency ($value, $currency = '€', $decNum = 2) { - // Are all required attriutes set? - if ((!isset($this->decimals)) || (!isset($this->thousands))) { - // Throw an exception - throw new MissingDecimalsThousandsSeparatorException($this, self::EXCEPTION_ATTRIBUTES_ARE_MISSING); - } // END - if - - // Cast the number - $value = (float) $value; - - // Reformat the US number - $price = number_format($value, $decNum, $this->decimals, $this->thousands) . $currency; - - // Return as string... - return $price; - } - /** * Appends a trailing slash to a string * @@ -1344,42 +714,12 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac // Is there a trailing slash? if (substr($str, -1, 1) != '/') { $str .= '/'; - } // END - if + } // Return string with trailing slash return $str; } - /** - * Prepare the template engine (HtmlTemplateEngine by default) for a given - * application helper instance (ApplicationHelper by default). - * - * @param $applicationInstance An application helper instance or - * null if we shall use the default - * @return $templateInstance The template engine instance - * @throws NullPointerException If the discovered application - * instance is still null - */ - protected function prepareTemplateInstance (ManageableApplication $applicationInstance = NULL) { - // Is the application instance set? - if (is_null($applicationInstance)) { - // Get the current instance - $applicationInstance = GenericRegistry::getRegistry()->getInstance('application'); - - // Still null? - if (is_null($applicationInstance)) { - // Thrown an exception - throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER); - } // END - if - } // END - if - - // Initialize the template engine - $templateInstance = ObjectFactory::createObjectByConfiguredName('html_template_class'); - - // Return the prepared instance - return $templateInstance; - } - /** * Debugs this instance by putting out it's full content * @@ -1399,7 +739,7 @@ abstract class BaseFrameworkSystem extends stdClass implements FrameworkInterfac $content = sprintf('
Message: %s
' . PHP_EOL, $message); - } // END - if + } // Generate the output $content .= sprintf('
%s
', @@ -1460,7 +800,7 @@ Loaded includes: if (!empty($message)) { // Then add it as well $stubMessage .= ' Message: ' . $message; - } // END - if + } // Debug instance is there? if (!is_null($this->getDebugInstance())) { @@ -1485,7 +825,7 @@ Loaded includes: if (!empty($message)) { // Output message printf('Message: %s
' . PHP_EOL, $message); - } // END - if + } print('
');
 		debug_print_backtrace();
@@ -1494,7 +834,7 @@ Loaded includes:
 		// Exit program?
 		if ($doExit === true) {
 			exit();
-		} // END - if
+		}
 	}
 
 	/**
@@ -1597,13 +937,13 @@ Loaded includes:
 			if ($doPrint === false) {
 				// Die here if not printed
 				exit();
-			} // END - if
+			}
 		} else {
 			// Are debug times enabled?
 			if (FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('debug_' . FrameworkBootstrap::getRequestTypeFromSystem() . '_output_timings') == 'Y') {
 				// Prepent it
 				$message = $this->getPrintableExecutionTime() . $message;
-			} // END - if
+			}
 
 			// Put directly out
 			if ($doPrint === true) {
@@ -1616,29 +956,6 @@ Loaded includes:
 		}
 	}
 
-	/**
-	 * Converts e.g. a command from URL to a valid class by keeping out bad characters
-	 *
-	 * @param	$str		The string, what ever it is needs to be converted
-	 * @return	$className	Generated class name
-	 */
-	public static final function convertToClassName ($str) {
-		// Init class name
-		$className = '';
-
-		// Convert all dashes in underscores
-		$str = StringUtils::convertDashesToUnderscores($str);
-
-		// Now use that underscores to get classname parts for hungarian style
-		foreach (explode('_', $str) as $strPart) {
-			// Make the class name part lower case and first upper case
-			$className .= ucfirst(strtolower($strPart));
-		} // END - foreach
-
-		// Return class name
-		return $className;
-	}
-
 	/**
 	 * Marks up the code by adding e.g. line numbers
 	 *
@@ -1661,7 +978,7 @@ Loaded includes:
 				$errorArray['message'],
 				$errorArray['type']
 			);
-		} // END - if
+		}
 
 		// Add line number to the code
 		foreach (explode(chr(10), $phpCode) as $lineNo => $code) {
@@ -1670,79 +987,12 @@ Loaded includes:
 				($lineNo + 1),
 				htmlentities($code, ENT_QUOTES)
 			);
-		} // END - foreach
+		}
 
 		// Return the code
 		return $markedCode;
 	}
 
-	/**
-	 * Filter a given GMT timestamp (non Uni* stamp!) to make it look more
-	 * beatiful for web-based front-ends. If null is given a message id
-	 * null_timestamp will be resolved and returned.
-	 *
-	 * @param	$timestamp	Timestamp to prepare (filter) for display
-	 * @return	$readable	A readable timestamp
-	 */
-	public function doFilterFormatTimestamp ($timestamp) {
-		// Default value to return
-		$readable = '???';
-
-		// Is the timestamp null?
-		if (is_null($timestamp)) {
-			// Get a message string
-			$readable = $this->getLanguageInstance()->getMessage('null_timestamp');
-		} else {
-			switch ($this->getLanguageInstance()->getLanguageCode()) {
-				case 'de': // German format is a bit different to default
-					// Split the GMT stamp up
-					$dateTime  = explode(' ', $timestamp  );
-					$dateArray = explode('-', $dateTime[0]);
-					$timeArray = explode(':', $dateTime[1]);
-
-					// Construct the timestamp
-					$readable = sprintf(FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('german_date_time'),
-						$dateArray[0],
-						$dateArray[1],
-						$dateArray[2],
-						$timeArray[0],
-						$timeArray[1],
-						$timeArray[2]
-					);
-					break;
-
-				default: // Default is pass-through
-					$readable = $timestamp;
-					break;
-			} // END - switch
-		}
-
-		// Return the stamp
-		return $readable;
-	}
-
-	/**
-	 * Filter a given number into a localized number
-	 *
-	 * @param	$value		The raw value from e.g. database
-	 * @return	$localized	Localized value
-	 */
-	public function doFilterFormatNumber ($value) {
-		// Generate it from config and localize dependencies
-		switch ($this->getLanguageInstance()->getLanguageCode()) {
-			case 'de': // German format is a bit different to default
-				$localized = number_format($value, FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('decimals'), ',', '.');
-				break;
-
-			default: // US, etc.
-				$localized = number_format($value, FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('decimals'), '.', ',');
-				break;
-		} // END - switch
-
-		// Return it
-		return $localized;
-	}
-
 	/**
 	 * "Getter" for databse entry
 	 *
@@ -1755,7 +1005,7 @@ Loaded includes:
 		if (!$this->getResultInstance() instanceof SearchableResult) {
 			// Throw an exception here
 			throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
-		} // END - if
+		}
 
 		// Rewind it
 		$this->getResultInstance()->rewind();
@@ -1764,7 +1014,7 @@ Loaded includes:
 		if ($this->getResultInstance()->valid() === false) {
 			// @TODO Move the constant to e.g. BaseDatabaseResult when there is a non-cached database result available
 			throw new InvalidDatabaseResultException(array($this, $this->getResultInstance()), CachedDatabaseResult::EXCEPTION_INVALID_DATABASE_RESULT);
-		} // END - if
+		}
 
 		// Get next entry
 		$this->getResultInstance()->next();
@@ -1783,7 +1033,7 @@ Loaded includes:
 	 * @return	$fieldValue		Field value from the user
 	 * @throws	NullPointerException	If the result instance is null
 	 */
-	public final function getField ($fieldName) {
+	public final function getField (string $fieldName) {
 		// Default field value
 		$fieldValue = NULL;
 
@@ -1794,7 +1044,7 @@ Loaded includes:
 		if (is_null($resultInstance)) {
 			// Then the user instance is no longer valid (expired cookies?)
 			throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
-		} // END - if
+		}
 
 		// Get current array
 		$fieldArray = $resultInstance->current();
@@ -1826,7 +1076,7 @@ Loaded includes:
 	 * @return	$isSet		Whether the given field name is set
 	 * @throws	NullPointerException	If the result instance is null
 	 */
-	public function isFieldSet ($fieldName) {
+	public function isFieldSet (string $fieldName) {
 		// Get result instance
 		$resultInstance = $this->getResultInstance();
 
@@ -1834,7 +1084,7 @@ Loaded includes:
 		if (is_null($resultInstance)) {
 			// Then the user instance is no longer valid (expired cookies?)
 			throw new NullPointerException($this, self::EXCEPTION_IS_NULL_POINTER);
-		} // END - if
+		}
 
 		// Get current array
 		$fieldArray = $resultInstance->current();
@@ -1869,7 +1119,7 @@ Loaded includes:
 
 			// Yes, then send the whole result to the database layer
 			$wrapperInstance->doUpdateByResult($this->getResultInstance());
-		} // END - if
+		}
 	}
 
 	/**
@@ -1952,143 +1202,6 @@ Loaded includes:
 		// Return result
 		return $hasSlept;
 	}
-	/**
-	 * Converts a hexadecimal string, even with negative sign as first string to
-	 * a decimal number using BC functions.
-	 *
-	 * This work is based on comment #86673 on php.net documentation page at:
-	 * 
-	 *
-	 * @param	$hex	Hexadecimal string
-	 * @return	$dec	Decimal number
-	 */
-	protected function hex2dec ($hex) {
-		// Convert to all lower-case
-		$hex = strtolower($hex);
-
-		// Detect sign (negative/positive numbers)
-		$sign = '';
-		if (substr($hex, 0, 1) == '-') {
-			$sign = '-';
-			$hex = substr($hex, 1);
-		} // END - if
-
-		// Decode the hexadecimal string into a decimal number
-		$dec = 0;
-		for ($i = strlen($hex) - 1, $e = 1; $i >= 0; $i--, $e = bcmul($e, 16)) {
-			$factor = self::$hexdec[substr($hex, $i, 1)];
-			$dec = bcadd($dec, bcmul($factor, $e));
-		} // END - for
-
-		// Return the decimal number
-		return $sign . $dec;
-	}
-
-	/**
-	 * Converts even very large decimal numbers, also signed, to a hexadecimal
-	 * string.
-	 *
-	 * This work is based on comment #97756 on php.net documentation page at:
-	 * 
-	 *
-	 * @param	$dec		Decimal number, even with negative sign
-	 * @param	$maxLength	Optional maximum length of the string
-	 * @return	$hex	Hexadecimal string
-	 */
-	protected function dec2hex ($dec, $maxLength = 0) {
-		// maxLength can be zero or devideable by 2
-		assert(($maxLength == 0) || (($maxLength % 2) == 0));
-
-		// Detect sign (negative/positive numbers)
-		$sign = '';
-		if ($dec < 0) {
-			$sign = '-';
-			$dec = abs($dec);
-		} // END - if
-
-		// Encode the decimal number into a hexadecimal string
-		$hex = '';
-		do {
-			$hex = self::$dechex[($dec % (2 ^ 4))] . $hex;
-			$dec /= (2 ^ 4);
-		} while ($dec >= 1);
-
-		/*
-		 * Leading zeros are required for hex-decimal "numbers". In some
-		 * situations more leading zeros are wanted, so check for both
-		 * conditions.
-		 */
-		if ($maxLength > 0) {
-			// Prepend more zeros
-			$hex = str_pad($hex, $maxLength, '0', STR_PAD_LEFT);
-		} elseif ((strlen($hex) % 2) != 0) {
-			// Only make string's length dividable by 2
-			$hex = '0' . $hex;
-		}
-
-		// Return the hexadecimal string
-		return $sign . $hex;
-	}
-
-	/**
-	 * Converts a ASCII string (0 to 255) into a decimal number.
-	 *
-	 * @param	$asc	The ASCII string to be converted
-	 * @return	$dec	Decimal number
-	 */
-	protected function asc2dec ($asc) {
-		// Convert it into a hexadecimal number
-		$hex = bin2hex($asc);
-
-		// And back into a decimal number
-		$dec = $this->hex2dec($hex);
-
-		// Return it
-		return $dec;
-	}
-
-	/**
-	 * Converts a decimal number into an ASCII string.
-	 *
-	 * @param	$dec		Decimal number
-	 * @return	$asc	An ASCII string
-	 */
-	protected function dec2asc ($dec) {
-		// First convert the number into a hexadecimal string
-		$hex = $this->dec2hex($dec);
-
-		// Then convert it into the ASCII string
-		$asc = $this->hex2asc($hex);
-
-		// Return it
-		return $asc;
-	}
-
-	/**
-	 * Converts a hexadecimal number into an ASCII string. Negative numbers
-	 * are not allowed.
-	 *
-	 * @param	$hex	Hexadecimal string
-	 * @return	$asc	An ASCII string
-	 */
-	protected function hex2asc ($hex) {
-		// Check for length, it must be devideable by 2
-		//* DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('hex='.$hex);
-		assert((strlen($hex) % 2) == 0);
-
-		// Walk the string
-		$asc = '';
-		for ($idx = 0; $idx < strlen($hex); $idx+=2) {
-			// Get the decimal number of the chunk
-			$part = hexdec(substr($hex, $idx, 2));
-
-			// Add it to the final string
-			$asc .= chr($part);
-		} // END - for
-
-		// Return the final string
-		return $asc;
-	}
 
 	/**
 	 * Checks whether the given encoded data was encoded with Base64
@@ -2111,7 +1224,7 @@ Loaded includes:
 	 * @param	$onlyKeys			Only use these keys for a cache key
 	 * @return	$cacheKey			A cache key suitable for lookup/storage purposes
 	 */
-	protected function getCacheKeyByCriteria (Criteria $criteriaInstance, array $onlyKeys = array()) {
+	protected function getCacheKeyByCriteria (Criteria $criteriaInstance, array $onlyKeys = []) {
 		// Generate it
 		//* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('BASE-FRAMEWORK-SYSTEM: criteriaInstance=' . $criteriaInstance->__toString() . ',onlyKeys()=' . count($onlyKeys) . ' - CALLED!');
 		$cacheKey = sprintf('%s@%s',
@@ -2175,7 +1288,7 @@ Loaded includes:
 		if (is_null(self::$hashLength)) {
 			// No, then hash a string and save its length.
 			self::$hashLength = strlen(self::hash('abc123'));
-		} // END - if
+		}
 
 		// Return it
 		return self::$hashLength;
@@ -2197,13 +1310,13 @@ Loaded includes:
 		if ($castValue === true) {
 			// Cast to biggest numeric type
 			$ret = (double) $ret;
-		} // END - if
+		}
 
 		// Assert only if requested
 		if ($assertMismatch === true) {
 			// Has the whole value changed?
 			assert(('' . $ret . '' != '' . $num . '') && (!is_null($num)));
-		} // END - if
+		}
 
 		// Return result
 		return $ret;
@@ -2224,7 +1337,7 @@ Loaded includes:
 		if ($assertMismatch === true) {
 			// Has the whole value changed?
 			assert(('' . $ret . '' != '' . $num . '') && (!is_null($num)));
-		} // END - if
+		}
 
 		// Return result
 		return $ret;
@@ -2300,7 +1413,7 @@ Loaded includes:
 			// No, then abort here
 			trigger_error(__METHOD__ . ': keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ' not found.');
 			exit;
-		} // END - if
+		}
 
 		// Debug message
 		//* NOISY-DEBUG: */ $this->outputLine('[' . __METHOD__ . ':' . __LINE__ . '] keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',value=' . print_r($this->genericArray[$keyGroup][$subGroup], true));
@@ -2425,10 +1538,10 @@ Loaded includes:
 			// Already initialized
 			trigger_error(__METHOD__ . ':keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ' already initialized.');
 			exit;
-		} // END - if
+		}
 
 		// Initialize it
-		$this->genericArray[$keyGroup][$subGroup] = array();
+		$this->genericArray[$keyGroup][$subGroup] = [];
 	}
 
 	/**
@@ -2449,10 +1562,10 @@ Loaded includes:
 			// Already initialized
 			trigger_error(__METHOD__ . ':keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',key=' . $key . ' already initialized.');
 			exit;
-		} // END - if
+		}
 
 		// Initialize it
-		$this->genericArray[$keyGroup][$subGroup][$key] = array();
+		$this->genericArray[$keyGroup][$subGroup][$key] = [];
 	}
 
 	/**
@@ -2474,10 +1587,10 @@ Loaded includes:
 			// Already initialized
 			trigger_error(__METHOD__ . ':keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',key=' . $key . ',element=' . $element . ' already initialized.');
 			exit;
-		} // END - if
+		}
 
 		// Initialize it
-		$this->genericArray[$keyGroup][$subGroup][$key][$element] = array();
+		$this->genericArray[$keyGroup][$subGroup][$key][$element] = [];
 	}
 
 	/**
@@ -2497,7 +1610,7 @@ Loaded includes:
 		if (!$this->isGenericArrayKeySet($keyGroup, $subGroup, $key)) {
 			// Initialize array
 			$this->initGenericArrayKey($keyGroup, $subGroup, $key);
-		} // END - if
+		}
 
 		// Then push it
 		$count = array_push($this->genericArray[$keyGroup][$subGroup][$key], $value);
@@ -2526,7 +1639,7 @@ Loaded includes:
 		if (!$this->isGenericArrayElementSet($keyGroup, $subGroup, $key, $element)) {
 			// Initialize array
 			$this->initGenericArrayElement($keyGroup, $subGroup, $key, $element);
-		} // END - if
+		}
 
 		// Then push it
 		$count = array_push($this->genericArray[$keyGroup][$subGroup][$key][$element], $value);
@@ -2554,7 +1667,7 @@ Loaded includes:
 			// Not found
 			trigger_error(__METHOD__ . ': keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',key=' . $key . ' not found.');
 			exit;
-		} // END - if
+		}
 
 		// Then "pop" it
 		$value = array_pop($this->genericArray[$keyGroup][$subGroup][$key]);
@@ -2582,7 +1695,7 @@ Loaded includes:
 			// Not found
 			trigger_error(__METHOD__ . ': keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',key=' . $key . ' not found.');
 			exit;
-		} // END - if
+		}
 
 		// Then "shift" it
 		$value = array_shift($this->genericArray[$keyGroup][$subGroup][$key]);
@@ -2608,7 +1721,7 @@ Loaded includes:
 			// Abort here
 			trigger_error(__METHOD__ . ': keyGroup=' . $keyGroup . ' not found.');
 			exit;
-		} // END - if
+		}
 
 		// Then count it
 		$count = count($this->genericArray[$keyGroup]);
@@ -2636,7 +1749,7 @@ Loaded includes:
 			// Abort here
 			trigger_error(__METHOD__ . ': keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ' not found.');
 			exit;
-		} // END - if
+		}
 
 		// Then count it
 		$count = count($this->genericArray[$keyGroup][$subGroup]);
@@ -2696,7 +1809,7 @@ Loaded includes:
 			// Then abort here
 			trigger_error(__METHOD__ . ': keyGroup=' . $keyGroup . ' does not exist.');
 			exit;
-		} // END - if
+		}
 
 		// Return it
 		return $this->genericArray[$keyGroup];
@@ -2736,7 +1849,7 @@ Loaded includes:
 			// Then abort here
 			trigger_error(__METHOD__ . ': keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',key=' . $key . ' does not exist.');
 			exit;
-		} // END - if
+		}
 
 		// Return it
 		return $this->genericArray[$keyGroup][$subGroup][$key];
@@ -2778,7 +1891,7 @@ Loaded includes:
 			// Then abort here
 			trigger_error(__METHOD__ . ': keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',key=' . $key . ',element=' . $element . ' does not exist.');
 			exit;
-		} // END - if
+		}
 
 		// Return it
 		return $this->genericArray[$keyGroup][$subGroup][$key][$element];
@@ -2843,7 +1956,7 @@ Loaded includes:
 	 * @param	$boolean		Boolean value
 	 * @return	$translated		Translated boolean value
 	 */
-	public static final function translateBooleanToYesNo ($boolean) {
+	public static final function translateBooleanToYesNo (bool $boolean) {
 		// Make sure it is really boolean
 		assert(is_bool($boolean));
 
@@ -2854,74 +1967,6 @@ Loaded includes:
 		return $translated;
 	}
 
-	/**
-	 * Encodes raw data (almost any type) by "serializing" it and then pack it
-	 * into a "binary format".
-	 *
-	 * @param	$rawData	Raw data (almost any type)
-	 * @return	$encoded	Encoded data
-	 */
-	protected function encodeData ($rawData) {
-		// Make sure no objects or resources pass through
-		assert(!is_object($rawData));
-		assert(!is_resource($rawData));
-
-		// First "serialize" it (json_encode() is faster than serialize())
-		$encoded = $this->packString(json_encode($rawData));
-
-		// And return it
-		return $encoded;
-	}
-
-	/**
-	 * Pack a string into a "binary format". Please execuse me that this is
-	 * widely undocumented. :-(
-	 *
-	 * @param	$str		Unpacked string
-	 * @return	$packed		Packed string
-	 * @todo	Improve documentation
-	 */
-	protected function packString ($str) {
-		// Debug message
-		//* NOISY-DEBUG */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('str=' . $str . ' - CALLED!');
-
-		// First compress the string (gzcompress is okay)
-		$str = gzcompress($str);
-
-		// Init variable
-		$packed = '';
-
-		// And start the "encoding" loop
-		for ($idx = 0; $idx < strlen($str); $idx += $this->packingData[$this->archArrayElement]['step']) {
-			$big = 0;
-			for ($i = 0; $i < $this->packingData[$this->archArrayElement]['step']; $i++) {
-				$factor = ($this->packingData[$this->archArrayElement]['step'] - 1 - $i);
-
-				if (($idx + $i) <= strlen($str)) {
-					$ord = ord(substr($str, ($idx + $i), 1));
-
-					$add = $ord * pow(256, $factor);
-
-					$big += $add;
-
-					//print 'idx=' . $idx . ',i=' . $i . ',ord=' . $ord . ',factor=' . $factor . ',add=' . $add . ',big=' . $big . PHP_EOL;
-				} // END - if
-			} // END - for
-
-			$l = ($big & $this->packingData[$this->archArrayElement]['left']) >>$this->packingData[$this->archArrayElement]['factor'];
-			$r = $big & $this->packingData[$this->archArrayElement]['right'];
-
-			$chunk = str_pad(pack($this->packingData[$this->archArrayElement]['format'], $l, $r), 8, '0', STR_PAD_LEFT);
-			//* NOISY-DEBUG */ print 'big=' . $big . ',chunk('.strlen($chunk) . ')='.md5($chunk).PHP_EOL;
-
-			$packed .= $chunk;
-		} // END - for
-
-		// Return it
-		//* NOISY-DEBUG */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('packed=' . $packed . ' - EXIT!');
-		return $packed;
-	}
-
 	/**
 	 * Creates a full-qualified file name (FQFN) for given file name by adding
 	 * a configured temporary file path to it.
@@ -2939,7 +1984,7 @@ Loaded includes:
 		if (!is_writable($basePath)) {
 			// Path is write-protected
 			throw new PathWriteProtectedException($infoInstance, self::EXCEPTION_PATH_CANNOT_BE_WRITTEN);
-		} // END - if
+		}
 
 		// Add it
 		$tempInstance = new SplFileInfo($basePath . DIRECTORY_SEPARATOR . $infoInstance->getBasename());
@@ -2948,7 +1993,7 @@ Loaded includes:
 		if (!FrameworkBootstrap::isReachableFilePath($tempInstance)) {
 			// Not reachable
 			throw new FileIoException($tempInstance, self::EXCEPTION_FILE_NOT_REACHABLE);
-		} // END - if
+		}
 
 		// Return it
 		return $tempInstance;
@@ -2970,7 +2015,7 @@ Loaded includes:
 		if ($stateInstance instanceof Stateable) {
 			// Then use that state name
 			$stateName = $stateInstance->getStateName();
-		} // END - if
+		}
 
 		// Return result
 		return $stateName;