X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fclass_BaseFrameworkSystem.php;h=7824280733a44f057ac5c0d746ffd3a06e503da1;hp=fef51b5e0baff2dbf0b2c5c27e3098b84dc3d7c6;hb=5be04aa21c5338880208dd02b87122e8291aecec;hpb=6c216bee40c8e8d9e7fb7037e7ea59424299910d diff --git a/inc/classes/main/class_BaseFrameworkSystem.php b/inc/classes/main/class_BaseFrameworkSystem.php index fef51b5e..78242807 100644 --- a/inc/classes/main/class_BaseFrameworkSystem.php +++ b/inc/classes/main/class_BaseFrameworkSystem.php @@ -26,137 +26,137 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Instance of a request class */ - private $requestInstance = null; + private $requestInstance = NULL; /** * Instance of a response class */ - private $responseInstance = null; + private $responseInstance = NULL; /** * Search criteria instance */ - private $searchInstance = null; + private $searchInstance = NULL; /** * Update criteria instance */ - private $updateInstance = null; + private $updateInstance = NULL; /** * The file I/O instance for the template loader */ - private $fileIoInstance = null; + private $fileIoInstance = NULL; /** * Resolver instance */ - private $resolverInstance = null; + private $resolverInstance = NULL; /** * Template engine instance */ - private $templateInstance = null; + private $templateInstance = NULL; /** * Database result instance */ - private $resultInstance = null; + private $resultInstance = NULL; /** * Instance for user class */ - private $userInstance = null; + private $userInstance = NULL; /** * A controller instance */ - private $controllerInstance = null; + private $controllerInstance = NULL; /** * Instance of a RNG */ - private $rngInstance = null; + private $rngInstance = NULL; /** * Instance of a crypto helper */ - private $cryptoInstance = null; + private $cryptoInstance = NULL; /** * Instance of an Iterator class */ - private $iteratorInstance = null; + private $iteratorInstance = NULL; /** * Instance of the list */ - private $listInstance = null; + private $listInstance = NULL; /** * Instance of a menu */ - private $menuInstance = null; + private $menuInstance = NULL; /** * Instance of the image */ - private $imageInstance = null; + private $imageInstance = NULL; /** * Instance of the stacker */ - private $stackerInstance = null; + private $stackerInstance = NULL; /** * A Compressor instance */ - private $compressorInstance = null; + private $compressorInstance = NULL; /** * A Parseable instance */ - private $parserInstance = null; + private $parserInstance = NULL; /** * A ProtocolHandler instance */ - private $protocolInstance = null; + private $protocolInstance = NULL; /** * A database wrapper instance */ - private $databaseInstance = null; + private $databaseInstance = NULL; /** * A helper instance for the form */ - private $helperInstance = null; + private $helperInstance = NULL; /** * An instance of a Sourceable class */ - private $sourceInstance = null; + private $sourceInstance = NULL; /** * An instance of a InputStreamable class */ - private $inputStreamInstance = null; + private $inputStreamInstance = NULL; /** * An instance of a OutputStreamable class */ - private $outputStreamInstance = null; + private $outputStreamInstance = NULL; /** * Networkable handler instance */ - private $handlerInstance = null; + private $handlerInstance = NULL; /** * Visitor handler instance */ - private $visitorInstance = null; + private $visitorInstance = NULL; /** * The real class name @@ -166,15 +166,15 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * An instance of a database wrapper class */ - private $wrapperInstance = null; + private $wrapperInstance = NULL; /** - * Thousands seperator + * Thousands separator */ private $thousands = '.'; // German /** - * Decimal seperator + * Decimal separator */ private $decimals = ','; // German @@ -251,7 +251,9 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { const EXCEPTION_DATABASE_UPDATED_NOT_ALLOWED = 0x039; const EXCEPTION_FILTER_CHAIN_INTERCEPTED = 0x040; - // Hexadecimal->Decimal translation array + /** + * Hexadecimal->Decimal translation array + */ private static $hexdec = array( '0' => 0, '1' => 1, @@ -271,7 +273,9 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { 'f' => 15 ); - // Decimal->hexadecimal translation array + /** + * Decimal->hexadecimal translation array + */ private static $dechex = array( 0 => '0', 1 => '1', @@ -291,6 +295,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { 15 => 'f' ); + /** + * Startup time in miliseconds + */ + private static $startupTime = 0; + /** * Protected super constructor * @@ -304,12 +313,18 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Set configuration instance if no registry ... if (!$this instanceof Register) { // ... because registries doesn't need to be configured - $this->setConfigInstance(FrameworkConfiguration::getInstance()); + $this->setConfigInstance(FrameworkConfiguration::getSelfInstance()); + } // END - if + + // Is the startup time set? (0 cannot be true anymore) + if (self::$startupTime == 0) { + // Then set it + self::$startupTime = microtime(true); } // END - if } /** - * Destructor reached... + * Destructor for all classes * * @return void */ @@ -346,13 +361,29 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } elseif (is_array($args)) { // Some arguments are there foreach ($args as $arg) { - // Add the type - $argsString .= $this->replaceControlCharacters($arg) . ' (' . gettype($arg); + // Add the value itself if not array. This prevents 'array to string conversion' message + if (is_array($arg)) { + $argsString .= 'Array'; + } else { + $argsString .= $arg; + } + + // Add data about the argument + $argsString .= ' (' . gettype($arg); - // Add length if type is string if (is_string($arg)) { + // Add length for strings $argsString .= ', '.strlen($arg); - } // END - if + } elseif (is_array($arg)) { + // .. or size if array + $argsString .= ', '.count($arg); + } elseif ($arg === true) { + // ... is boolean 'true' + $argsString .= ', true'; + } elseif ($arg === false) { + // ... is boolean 'true' + $argsString .= ', false'; + } // Closing bracket $argsString .= '), '; @@ -375,7 +406,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { )); // Return nothing - return null; + return NULL; } /** @@ -589,24 +620,24 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Setter for database instance * - * @param $dbInstance The instance for the database connection (forced DatabaseConnection) + * @param $databaseInstance The instance for the database connection (forced DatabaseConnection) * @return void */ - public final function setDatabaseInstance (DatabaseConnection $dbInstance) { - Registry::getRegistry()->addInstance('db_instance', $dbInstance); + public final function setDatabaseInstance (DatabaseConnection $databaseInstance) { + Registry::getRegistry()->addInstance('db_instance', $databaseInstance); } /** * Getter for database layer * - * @return $dbInstance The database layer instance + * @return $databaseInstance The database layer instance */ public final function getDatabaseInstance () { // Get instance - $dbInstance = Registry::getRegistry()->getInstance('db_instance'); + $databaseInstance = Registry::getRegistry()->getInstance('db_instance'); // Return instance - return $dbInstance; + return $databaseInstance; } /** @@ -690,7 +721,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Setter for the real class name * - * @param $realClass Class name (string) + * @param $realClass Class name (string) * @return void */ public final function setRealClass ($realClass) { @@ -702,11 +733,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } /** - * Checks wether an object equals this object. You should overwrite this + * Checks whether an object equals this object. You should overwrite this * method to implement own equality checks * * @param $objectInstance An instance of a FrameworkInterface object - * @return $equals Wether both objects equals + * @return $equals Whether both objects equals */ public function equals (FrameworkInterface $objectInstance) { // Now test it @@ -733,21 +764,21 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Formats computer generated price values into human-understandable formats - * with thousand and decimal seperators. + * 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 MissingDecimalsThousandsSeperatorException If decimals or - * thousands seperator + * @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 MissingDecimalsThousandsSeperatorException($this, self::EXCEPTION_ATTRIBUTES_ARE_MISSING); + throw new MissingDecimalsThousandsSeparatorException($this, self::EXCEPTION_ATTRIBUTES_ARE_MISSING); } // END - if // Cast the number @@ -784,8 +815,8 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Appends a trailing slash to a string * - * @param $str A string (maybe) without trailing slash - * @return $str A string with an auto-appended trailing slash + * @param $str A string (maybe) without trailing slash + * @return $str A string with an auto-appended trailing slash */ public final function addMissingTrailingSlash ($str) { // Is there a trailing slash? @@ -800,7 +831,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Private getter for file IO instance * - * @return $fileIoInstance An instance to the file I/O sub-system + * @return $fileIoInstance An instance to the file I/O sub-system */ protected final function getFileIoInstance () { return $this->fileIoInstance; @@ -809,7 +840,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Setter for file I/O instance * - * @param $fileIoInstance An instance to the file I/O sub-system + * @param $fileIoInstance An instance to the file I/O sub-system * @return void */ public final function setFileIoInstance (FileIoHandler $fileIoInstance) { @@ -826,7 +857,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * @throws NullPointerException If the discovered application * instance is still null */ - protected function prepareTemplateInstance (ManageableApplication $applicationInstance = null) { + protected function prepareTemplateInstance (ManageableApplication $applicationInstance = NULL) { // Is the application instance set? if (is_null($applicationInstance)) { // Get the current instance @@ -878,7 +909,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { ApplicationEntryPoint::app_die(sprintf("
\n"); + print(''); + + // Exit program? + if ($doExit === true) { + exit(); + } // END - if } /** - * Outputs a debug message wether to debug instance (should be set!) or dies with or pints the message + * Outputs a debug message whether to debug instance (should be set!) or dies with or pints the message * * @param $message Message we shall send out... - * @param $doPrint Wether we shall print or die here which first is the default + * @param $doPrint Whether we shall print or die here which first is the default * @return void */ public function debugOutput ($message, $doPrint = true) { @@ -980,7 +1016,14 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } else { // Put directly out if ($doPrint === true) { - print($message); + // Are debug times enabled? + if ($this->getConfigInstance()->getConfigEntry('debug_output_timings') == 'Y') { + // Output it first + print($this->getPrintableExecutionTime()); + } // END - if + + // Print message + print($message . chr(10)); } else { // DO NOT REWRITE THIS TO app_die() !!! die($message); @@ -1041,7 +1084,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Init the code with error message if (is_array($errorArray)) { // Get error infos - $markedCode = sprintf("'); debug_print_backtrace(); - print(""); - exit(); + print('