/**
* 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;
/**
* The real class name
/**
* An instance of a database wrapper class
*/
- private $wrapperInstance = null;
+ private $wrapperInstance = NULL;
/**
* Thousands seperator
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,
'f' => 15
);
- // Decimal->hexadecimal translation array
+ /**
+ * Decimal->hexadecimal translation array
+ */
private static $dechex = array(
0 => '0',
1 => '1',
15 => 'f'
);
+ /**
+ * Startup time in miliseconds
+ */
+ private static $startupTime = 0;
+
/**
* Protected super constructor
*
// ... because registries doesn't need to be configured
$this->setConfigInstance(FrameworkConfiguration::getInstance());
} // 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
*/
/**
* 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;
}
/**
* @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
protected function replaceControlCharacters ($str) {
// Replace them
$str = str_replace(
- "\r", '[r]', str_replace(
- "\n", '[n]', str_replace(
- "\t", '[t]',
+ chr(13), '[r]', str_replace(
+ chr(10), '[n]', str_replace(
+ chr(9) , '[t]',
$str
)));
} 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);
} // END - if
// Add line number to the code
- foreach (explode("\n", $phpCode) as $lineNo => $code) {
+ foreach (explode(chr(10), $phpCode) as $lineNo => $code) {
// Add line numbers
$markedCode .= sprintf("<span id=\"code_line\">%s</span>: %s\n",
($lineNo + 1),
*/
public final function getField ($fieldName) {
// Default field value
- $fieldValue = null;
+ $fieldValue = NULL;
// Get result instance
$resultInstance = $this->getResultInstance();
* @param $protocolInstance An instance of an ProtocolHandler
* @return void
*/
- public final function setProtocolInstance (ProtocolHandler $protocolInstance) {
+ public final function setProtocolInstance (ProtocolHandler $protocolInstance = NULL) {
$this->protocolInstance = $protocolInstance;
}
$this->sourceInstance = $sourceInstance;
}
+ /**
+ * Getter for a Sourceable instance
+ *
+ * @return $sourceInstance The Sourceable instance
+ */
+ protected final function getSourceInstance () {
+ return $this->sourceInstance;
+ }
+
/**
* Getter for a InputStreamable instance
*
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 raw package Data
*
// Return it
return $isBase64;
}
+
+ /**
+ * "Getter" to get response/request type from analysis of the system.
+ *
+ * @return $responseType Analyzed response type
+ */
+ protected 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';
+ } // END - if
+
+ // Return it
+ return $responseType;
+ }
+
+ /**
+ * Gets a cache key from Criteria instance
+ *
+ * @param $criteriaInstance An instance of a Criteria class
+ * @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, $onlyKeys = array()) {
+ // Generate it
+ $cacheKey = sprintf("%s@%s",
+ $this->__toString(),
+ $criteriaInstance->getCacheKey($onlyKeys)
+ );
+
+ // And return it
+ //* NOISY-DEBUG: */ $this->debugOutput($this->__toString() . ': cacheKey=' . $cacheKey);
+ return $cacheKey;
+ }
+
+ /**
+ * Getter for startup time in miliseconds
+ *
+ * @return $startupTime Startup time in miliseconds
+ */
+ protected function getStartupTime () {
+ return self::$startupTime;
+ }
+
+ /**
+ * "Getter" for a printable currently execution time in nice braces
+ *
+ * @return $executionTime Current execution time in nice braces
+ */
+ protected function getPrintableExecutionTime () {
+ // Caculate the execution time
+ $executionTime = microtime(true) - $this->getStartupTime();
+
+ // Pack it in nice braces
+ $executionTime = sprintf('[ %01.4f ] ', $executionTime);
+
+ // And return it
+ return $executionTime;
+ }
}
// [EOF]