*
* @return $thisInstance An instance of this class
*/
- public final static function getInstance () {
+ public static final function getInstance () {
// Is the instance there?
if (is_null(self::$thisInstance)) {
self::$thisInstance = new ApplicationHelper();
- }
+ } // END - if
// Return the instance
return self::$thisInstance;
*/
public function buildMasterTemplateName () {
// Get short name and add suffix
- $masterTemplateName = str_replace("-", "", $this->getAppShortName()) . "_main";
+ $masterTemplateName = str_replace('-', '', $this->getAppShortName()) . '_main';
// Return it
return $masterTemplateName;
* @return void
*/
public final function entryPoint () {
+ // Set this application in registry
+ Registry::getRegistry()->addInstance('app', $this);
+
+ // Analyze the environment for type of response/request
+ $type = ConsoleTools::analyzeEnvironmentForType();
+ $classType = ConsoleTools::analyzeEnvironmentForClassType();
+
// Create a new request object
- $requestInstance = ObjectFactory::createObjectByName('HttpRequest');
+ $requestInstance = ObjectFactory::createObjectByName(ucfirst($type) . 'Request');
// Remember request instance here
$this->setRequestInstance($requestInstance);
- // Default response is HTTP (HTML page) and type is "Web"
- $response = "http";
- $responseType = "web";
+ // Default response is HTTP (HTML page) and type is 'Web'
+ $response = $type;
+ $responseType = $classType;
// Do we have another response?
if ($requestInstance->isRequestElementSet('request')) {
$commandName = $responseInstance->getDefaultCommand();
// Set it in request
- $requestInstance->setRequestElement('page');
+ $requestInstance->setRequestElement('page', $commandName);
} // END - if
// Get a resolver
// Get a controller instance as well
$this->controllerInstance = $resolverInstance->resolveController();
+ // Get a web output class
+ $outputInstance = ObjectFactory::createObjectByConfiguredName('output_class', array($this));
+
+ // Set it in this application
+ $this->setWebOutputInstance($outputInstance);
+
// Handle the request
$this->controllerInstance->handleRequest($requestInstance, $responseInstance);
}