*
* @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;
* @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';
+ $response = $type;
+ $responseType = $classType;
// Do we have another response?
if ($requestInstance->isRequestElementSet('request')) {
// 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);
}