X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Fclasses%2Fmain%2Fclass_BaseFrameworkSystem.php;h=85dd986a4e0a2626a95d26028876518c01b9184e;hb=cdcd82c640a0675ab2de65c9a0d00639fad5eecb;hp=485264212e4c82a58bd55ad776eb3543f243439a;hpb=e51607c0f33062258ba0a07b79b8e1f34fd6b832;p=core.git diff --git a/inc/classes/main/class_BaseFrameworkSystem.php b/inc/classes/main/class_BaseFrameworkSystem.php index 48526421..85dd986a 100644 --- a/inc/classes/main/class_BaseFrameworkSystem.php +++ b/inc/classes/main/class_BaseFrameworkSystem.php @@ -78,6 +78,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ private $rngInstance = null; + /** + * Instance of a crypto helper + */ + private $cryptoInstance = null; + /** * Instance of an Iterator class */ @@ -123,6 +128,16 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ private $databaseInstance = null; + /** + * A helper instance for the form + */ + private $helperInstance = null; + + /** + * An instance of a source + */ + private $sourceInstance = null; + /** * The real class name */ @@ -219,9 +234,9 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Set real class $this->setRealClass($className); - // Set configuration instance if no registry + // Set configuration instance if no registry ... if (!$this instanceof Register) { - // Because registries doesn't need to be configured + // ... because registries doesn't need to be configured $this->setConfigInstance(FrameworkConfiguration::getInstance()); } // END - if } @@ -230,7 +245,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * Destructor reached... * * @return void - * @todo This is old code. Do we still need this old lost code? */ public function __destruct() { // Flush any updated entries to the database @@ -250,8 +264,10 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } /** - * The call method where all non-implemented methods end up + * The __call() method where all non-implemented methods end up * + * @param $methodName Name of the missing method + * @args $args Arguments passed to the method * @return void */ public final function __call ($methodName, $args) { @@ -267,7 +283,9 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $argsString .= $this->replaceControlCharacters($arg) . ' (' . gettype($arg); // Add length if type is string - if (gettype($arg) == 'string') $argsString .= ', '.strlen($arg); + if (is_string($arg)) { + $argsString .= ', '.strlen($arg); + } // END - if // Closing bracket $argsString .= '), '; @@ -293,6 +311,54 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { return null; } + /** + * Getter for $realClass + * + * @return $realClass The name of the real class (not BaseFrameworkSystem) + */ + public function __toString () { + return $this->realClass; + } + + /** + * Magic function to catch setting of missing but set class fields/attributes + * + * @param $name Name of the field/attribute + * @param $value Value to store + * @return void + */ + public final function __set ($name, $value) { + $this->debugBackTrace(sprintf("Tried to set a missing field. name=%s, value[%s]=%s", + $name, + gettype($value), + $value + )); + } + + /** + * Magic function to catch getting of missing fields/attributes + * + * @param $name Name of the field/attribute + * @return void + */ + public final function __get ($name) { + $this->debugBackTrace(sprintf("Tried to get a missing field. name=%s", + $name + )); + } + + /** + * Magic function to catch unsetting of missing fields/attributes + * + * @param $name Name of the field/attribute + * @return void + */ + public final function __unset ($name) { + $this->debugBackTrace(sprintf("Tried to unset a missing field. name=%s", + $name + )); + } + /** * Setter for database result instance * @@ -554,15 +620,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { return $this->responseInstance; } - /** - * Getter for $realClass - * - * @return $realClass The name of the real class (not BaseFrameworkSystem) - */ - public function __toString () { - return $this->realClass; - } - /** * Setter for the real class name * @@ -696,31 +753,27 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * Prepare the template engine (WebTemplateEngine by default) for a given * application helper instance (ApplicationHelper by default). * - * @param $appInstance An application helper instance or + * @param $applicationInstance An application helper instance or * null if we shall use the default * @return $templateInstance The template engine instance - * @throws NullPointerException If the template engine could not - * be initialized - * @throws UnsupportedTemplateEngineException If $templateInstance is an - * unsupported template engine * @throws NullPointerException If the discovered application * instance is still null */ - protected function prepareTemplateInstance (ManageableApplication $appInstance = null) { + protected function prepareTemplateInstance (ManageableApplication $applicationInstance = null) { // Is the application instance set? - if (is_null($appInstance)) { + if (is_null($applicationInstance)) { // Get the current instance - $appInstance = $this->getApplicationInstance(); + $applicationInstance = $this->getApplicationInstance(); // Still null? - if (is_null($appInstance)) { + 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('web_template_class', array($appInstance)); + $templateInstance = ObjectFactory::createObjectByConfiguredName('web_template_class'); // Return the prepared instance return $templateInstance; @@ -794,7 +847,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Generate the class::method string $methodName = 'UnknownClass->unknownMethod'; if ((isset($backtrace[1]['class'])) && (isset($backtrace[1]['function']))) { - $methodName = $backtrace[1]['class']."->".$backtrace[1]['function']; + $methodName = $backtrace[1]['class'] . '->' . $backtrace[1]['function']; } // END - if // Construct the full message @@ -814,17 +867,23 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $this->debugOutput($stubMessage); } else { // Trigger an error - trigger_error($stubMessage."
\n"); + trigger_error($stubMessage . "
\n"); } } /** * Outputs a debug backtrace and stops further script execution * + * @param $message An optional message to output * @return void */ - public function debugBackTrace () { + public function debugBackTrace ($message = '') { // Sorry, there is no other way getting this nice backtrace + if (!empty($message)) { + // Output message + printf("Message: %s
\n", $message); + } // END - if + print("
\n");
 		debug_print_backtrace();
 		print("
"); @@ -846,7 +905,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { if (is_object($debugInstance)) { // Use debug output handler $debugInstance->output($message); - if ($doPrint === false) die(); // Die here if not printed + + if ($doPrint === false) { + // Die here if not printed + die(); + } // END - if } else { // Put directly out if ($doPrint === true) { @@ -1141,7 +1204,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $this->debugOutput($message); } else { // Trigger an error - trigger_error($message."
\n"); + trigger_error($message . "
\n"); } } else { // @TODO Finish this part! @@ -1182,6 +1245,25 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { return $this->rngInstance; } + /** + * Setter for Cryptable instance + * + * @param $cryptoInstance An instance of a Cryptable class + * @return void + */ + protected final function setCryptoInstance (Cryptable $cryptoInstance) { + $this->cryptoInstance = $cryptoInstance; + } + + /** + * Getter for Cryptable instance + * + * @return $cryptoInstance An instance of a Cryptable class + */ + public final function getCryptoInstance () { + return $this->cryptoInstance; + } + /** * Setter for Iterator instance * @@ -1412,6 +1494,44 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { return $this->socketResource; } + /** + * 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; + } + + /** + * Setter for a Sourceable instance + * + * @param $sourceInstance The Sourceable instance + * @return void + */ + protected final function setSourceInstance (Sourceable $sourceInstance) { + $this->sourceInstance = $sourceInstance; + } + + /** + * Getter for a Sourceable instance + * + * @param $sourceInstance The Sourceable instance + */ + protected final function getSourceInstance () { + return $this->sourceInstance; + } + /** * Setter for raw package Data *