/** * Called when a client connects, sends a message, or disconnects. Creates * a new Front Controller and dispatches to the controller. * * @param string $event * @param A_Socket_Message $data */ public function onEvent($event, $message) { $Request = new A_Socket_Request($message); $Locator = $this->locator; $Config = $Locator->get('Config'); $Locator->set('Request', $Request); $front = new A_Controller_Front($Config->get('APP'), $Config->get('DEFAULT_ACTION'), $Config->get('ERROR_ACTION')); $front->run($Locator); }
<?php /** * This is the simplest bootstrap and controller. * No Response object is used and controllers echo their output. * URLs are in the form index.php?module=&controller=home&action=index (but params are defaults so not necessary) */ $ConfigArray['PATH'] = dirname(__FILE__) . '/'; include $ConfigArray['PATH'] . '../../A/Locator.php'; $Locator = new A_Locator(); $Locator->autoload(); $Request = new A_Http_Request(); $Locator->set('Request', $Request); $Front = new A_Controller_Front($ConfigArray['PATH'], array('', 'home', ''), array('', 'home', '')); $Front->run($Locator);
<?php error_reporting(E_ALL); require 'config.php'; require dirname(__FILE__) . '/../../A/Locator.php'; #require_once('A/Http/Request.php'); #require_once('A/Http/Response.php'); #require_once('A/Controller/Front.php'); #require_once('A/Controller/Mapper.php'); // create Registry/Loader and initialize autoloading $Locator = new A_Locator(); $Locator->autoload(); $Response = new A_Http_Response(); $Locator->set('Request', new A_Http_Request()); $Locator->set('Response', $Response); $DefaultAction = array('', 'home', 'index'); $ErrorAction = 'error'; $Mapper = new A_Controller_Mapper('', $DefaultAction); #$Mapper->setParams('action', ''); // add this line to run 0.3.x code #$Mapper->setDefaultMethod('execute'); // add this line to run 0.4.x and 0.3.x code #$Mapper->setDefaultMethod('run'); // add this line to run 0.7.x code #$Mapper->setDefaultDir('default'); // add this for a default module directory $Controller = new A_Controller_Front($Mapper, $ErrorAction); #$Controller = new A_Controller_Front('', $ErrorAction, $DefaultAction); // have FC create Mapper $Controller->run($Locator); $Response->out(); if ($Controller->isError()) { echo '<br/><br/>Front Controller errors: ' . $Controller->getErrorMsg(); }
<?php require 'config.php'; require $ConfigArray['LIB'] . 'A/Locator.php'; $Locator = new A_Locator(); $Locator->autoload(); // initializing autoloading $Config = new A_Collection($ConfigArray); $Request = new A_Http_Request(); $Response = new A_Http_Response(); $Response->setTemplate('layouts/main.php'); $Response->set('BASE', $ConfigArray['BASE']); $Response->set('title', $ConfigArray['TITLE']); $Response->set('head', ''); $Session = new A_Session(); $UserSession = new A_User_Session($Session); $Locator->set('Config', $Config); $Locator->set('Request', $Request); $Locator->set('Response', $Response); $Locator->set('Session', $Session); $Locator->set('UserSession', $UserSession); $Router = new A_Http_Pathinfo(); $Router->run($Request); $Mapper = new A_Controller_Mapper($ConfigArray['APP'], array('', 'home', '')); $Controller = new A_Controller_Front($Mapper, array('', 'error', '')); $Controller->addPreFilter(new A_User_Prefilter_Group($Session, array('', 'user', 'login'))); $Controller->run($Locator); $Response->run($Locator); echo $Response->render(); echo $Controller->getErrorMsg(', ');
include 'A/Controller/Mapper.php'; include 'A/Controller/Action.php'; $Locator = new A_Locator(); */ // Init autoload using Locator require_once $ConfigArray['LIB'] . 'A/Locator.php'; $Locator = new A_Locator(); $Locator->autoload(); $Response = new A_Http_Response(); $Locator->set('Request', new A_Http_Request()); $Locator->set('Response', $Response); $DefaultAction = array('', 'example', 'index'); $ErrorAction = array('', 'error', 'index'); $Mapper = new A_Controller_Mapper(dirname(__FILE__) . '/app/', $DefaultAction); $Controller = new A_Controller_Front($Mapper, $ErrorAction); $Controller->run($Locator); $Response->out(); /* require_once('A/Application.php'); $App = new A_Application(); $App->setPath(dirname($_SERVER['SCRIPT_FILENAME']) . 'application/'); //output content directly to screen echo $App->run(); #dump($App); */ if (isset($_SESSION)) {
$Response->setTemplate('mainlayout', 'module'); $Response->set('BASE', $ConfigArray['BASE']); $Response->set('title', 'Default Title'); $Response->set('head', ''); $Response->set('maincontent', 'Default main content.'); $Response->set('user', $UserSession); // Add common objects to registry $Locator->set('Config', $Config); $Locator->set('Request', $Request); $Locator->set('Response', $Response); $Locator->set('Session', $Session); $Locator->set('UserSession', $UserSession); $Locator->set('Db', $Db); // Create router and have it modify request $map = array('' => array('controller', 'action'), 'blog' => array('' => array(array('name' => 'module', 'default' => 'blog'), array('name' => 'controller', 'default' => 'index'), array('name' => 'action', 'default' => 'index'))), 'admin' => array('' => array(array('name' => 'module', 'default' => 'admin'), array('name' => 'controller', 'default' => 'admin'), array('name' => 'action', 'default' => 'index')))); $Pathinfo = new A_Http_Pathinfo($map); $Pathinfo->run($Request); // Create mapper with base application path and default action #$Mapper = new A_Controller_Mapper($Config->get('APP'), array('', 'index', 'index')); #$Mapper->setDefaultDir('blog'); $Controller = new A_Controller_Front($Config->get('APP'), array('blog', 'posts', 'index')); #$Controller->getMapper()->setDefaultDir('blog'); // Create and run FC with error action #$Controller = new A_Controller_Front($Mapper, array('', 'error', 'index')); $Controller->addPreFilter(new A_User_Prefilter_Group($Session, array('blog', 'user', 'login'))); $Controller->run($Locator); // Finally, display echo $Response->render(); dump($_SESSION, '_SESSION: '); dump(); echo '<div style="clear:both;"><b>Included files:</b><pre>' . implode(get_included_files(), "\n") . '</pre></div>';
#require_once 'A/Controller/Front/Injector.php'; #require_once 'A/Controller/Front/Premethod.php'; // create Registry/Loader and initialize autoloading $Locator = new A_Locator(); $Locator->autoload(); $Response = new A_Http_Response(); $Locator->set('Request', new A_Http_Request()); $Locator->set('Response', $Response); $DefaultAction = array('', 'home', 'index'); $ErrorAction = array('', 'error', 'index'); $SecurityAction = array('', 'security-default', 'index'); $NoAction = 0; $Mapper = new A_Controller_Mapper('', $DefaultAction); #$Mapper->setParams('action', ''); // add this line to run 0.3.x code #$Mapper->setDefaultMethod('execute'); // add this line to run 0.4.x and 0.3.x code $Controller = new A_Controller_Front($Mapper, $ErrorAction); $Controller->addPreFilter(new A_Controller_Front_Premethod('denyAccess', $SecurityAction, $Locator)); $Controller->addPreFilter(new A_Controller_Front_Premethod('forceError', $NoAction, $Locator)); $Controller->addPreFilter(new A_Controller_Front_Injector('_response', $Response)); $Controller->run($Locator); $Response->out(); class InjectResponseFilter { protected $locator; function InjectResponseFilter($locator) { $this->locator = $locator; } function run($controller) { $controller->_response = $this->locator->get('Response');
// create config object from array $Config = new A_Collection($ConfigArray); // create HTTP objects $Request = new A_Http_Request(); $Response = new A_Http_Response(); // Start Sessions $Session = new A_Session(); $Session->start(); $UserSession = new A_User_Session($Session); // create registry/loader and add common objects $Locator->set('Config', $Config); $Locator->set('Request', $Request); $Locator->set('Response', $Response); $Locator->set('Session', $Session); $Locator->set('UserSession', $UserSession); // create router and have it modify request $map = array('' => array(0 => array('name' => 'controller', 'default' => 'home'), 1 => array('name' => 'action', 'default' => 'index'))); $Pathinfo = new A_Http_Pathinfo($map, false); $Pathinfo->run($Request); // create mapper with base application path and default action $Mapper = new A_Controller_Mapper($ConfigArray['APP'], array('', 'home', 'index')); // create and run FC with error action $Controller = new A_Controller_Front($Mapper, array('', 'error', 'index')); // add filter to run if Action implement a denyAccess() method include_once 'application/helpers/AccessCheck.php'; $Controller->addPreFilter(new A_Controller_Front_Premethod('denyAccess', new AccessCheck($UserSession), $Locator)); $Controller->run($Locator); //dump($Controller); #echo '<pre>' . print_r($Front->getRoutes(), 1) . '</pre>'; // show what actions were called // send response to browser echo $Response->render();
$Locator->autoload(); $Request = new A_Http_Request(); $Response = new A_Http_Response(); $Session = new A_Session(); $Session->start(); $UserSession = new A_User_Session($Session); $UserSession->getAuth(); $UserSession->setTimestamp(time()); $Locator->set('Request', $Request); $Locator->set('Response', $Response); $Locator->set('Session', $Session); $Locator->set('UserSession', $UserSession); #$UserSession->login('test', 'member|editor'); #$UserSession->logout(); #$rule = new A_Rule_UserIsLevel(15); $UserAccess = new A_User_Access($UserSession); $UserAccess->addRule(new A_User_Rule_Isloggedin(array('', 'login', 'index'))); #$UserAccess->addRule(new A_User_Rule_Ingroup(array('manager'), 'error')); $UserAccess->run($Locator); #dump($UserAccess); #dump($Locator); $Mapper = new A_Controller_Mapper('', array('', 'example', 'index')); // dump($Mapper); //dump2($Request); $Controller = new A_Controller_Front($Mapper, array('', 'error', 'index')); $Controller->run($Locator); dump($Controller->getRoutes(), 'ROUTES: '); #dump($Response); $Response->out(); dump($_SESSION); dump();
// Create HTTP Response object and set default template and valuesS $Response = new A_Http_Response(); $Response->setTemplate('mainlayout', 'module'); $Response->set('BASE', $ConfigArray['BASE']); $Response->set('title', 'Default Title'); $Response->set('maincontent', 'Default main content set in index.php. If you can see this then none of your controllers gave a value to maincontent or, more likely, you put in a url for which no module/controller/action could be found. I think you should be looking at a 404 page here.'); // Start Sessions $Session = new A_Session(); //$Session->start(); $UserSession = new A_User_Session($Session); // Add common objects to registry $Locator->set('Config', $Config); $Locator->set('Request', $Request); $Locator->set('Response', $Response); $Locator->set('Session', $Session); $Locator->set('UserSession', $UserSession); // Create router and have it modify request $map = array('' => array('controller', 'action'), 'blog' => array('' => array(array('name' => 'module', 'default' => 'blog'), array('name' => 'controller', 'default' => 'index'), array('name' => 'action', 'default' => 'index'))), 'admin' => array('' => array(array('name' => 'module', 'default' => 'admin'), array('name' => 'controller', 'default' => 'admin'), array('name' => 'action', 'default' => 'index')))); $Pathinfo = new A_Http_Pathinfo($map); $Pathinfo->run($Request); // Create mapper with base application path and default action $Mapper = new A_Controller_Mapper($Config->get('APP'), array('', 'index', 'index')); $Mapper->setDefaultDir('blog'); // Create and run FC with error action $Controller = new A_Controller_Front($Mapper, array('', 'error', 'index')); $Controller->addPreFilter(new A_User_Prefilter_Group($Session)); $Controller->run($Locator); // Finally, display echo $Response->render(); dump(); echo '<div style="clear:both;"><b>Included files:</b><pre>' . implode(get_included_files(), "\n") . '</pre></div>';