コード例 #1
0
ファイル: index.php プロジェクト: TheProjecter/skeleton
<?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(', ');
コード例 #2
0
ファイル: index.php プロジェクト: TheProjecter/skeleton
// 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();
コード例 #3
0
ファイル: index.php プロジェクト: TheProjecter/skeleton
#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');
    }
コード例 #4
0
ファイル: index.php プロジェクト: TheProjecter/skeleton
// 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>';