*/
class WebControllerResolver extends BaseResolver implements ControllerResolver {
/**
- * Last successfull resolved controller
+ * Last successfull resolved controller (name)
*/
private $lastControllerName = "";
+ /**
+ * Last successfull resolved controller (instance)
+ */
+ private $lastControllerInstance = null;
+
/**
* Protected constructor
*
throw new InvalidControllerInstanceException(array($this, $commandName), self::EXCEPTION_INVALID_CONTROLLER);
}
- // Set last command
- $this->lastCommandInstance = $controllerInstance;
+ // Set last controller
+ $this->lastControllerInstance = $controllerInstance;
} catch (MissingArrayElementsException $e) {
// Just catch it here...
}
* controller class is missing (bad!)
*/
private function loadController ($commandName) {
+ // Debug message
+ //print("<strong>----- ".__METHOD__." -----</strong><pre>");
+ //debug_print_backtrace();
+ //print("</pre>");
+ //
+
// Cache default command
$defaultCommand = $this->getConfigInstance()->readConfig("default_command");
if ($commandName != $defaultCommand) {
// Create controller class name
$class = sprintf("Web%sController",
- ucfirst(strtolower($commandName))
+ $this->convertToClassName($commandName)
);
} elseif ($this->getConfigInstance()->readConfig("home_with_news") == "Y") {
// Yes, display news in home then set default controller with news
$class = "WebDefaultNewsController";
+ } else {
+ // No nes at "home" page
+ $class = "WebDefaultController";
}
// Is this class loaded?