/**
  * @covers FrontController::__construct
  * @covers FrontController::dispatch
  */
 public function testDispatchingWorksCorrectly()
 {
     $request = new Request(array('REQUEST_URI' => '/test'));
     $response = new Response();
     $router = new Router();
     $router->set('test', 'TestController');
     $frontController = new FrontController($request, $response, $router, new ControllerFactory(new MapperFactory(new PDO('sqlite::memory:'))), new ViewFactory());
     $this->assertInstanceOf('TestView', $frontController->dispatch($router));
 }
Example #2
0
require_once ST_DIR . '/Interfaces/IEventSubscriber.php';
require_once ST_DIR . '/includes/functions.php';
require_once ST_DIR . '/Classes/Request.php';
require_once ST_DIR . '/Classes/Session.php';
require_once ST_DIR . '/Controller/ControllerAbstract.php';
require_once ST_DIR . '/Controller/FrontController.php';
require_once ST_DIR . '/Model/ModelAbstract.php';
require_once ST_DIR . '/Model/Statement.php';
require_once ST_DIR . '/Model/Comment.php';
require_once ST_DIR . '/Classes/Events.php';
require_once ST_DIR . '/Classes/MailsEvent.php';
require_once ST_DIR . '/Classes/SubscribeEvent.php';
mb_internal_encoding($config['charset']);
ModelAbstract::$db = $db;
$request = new Request();
$front = new FrontController($request, $member_id);
$front->setTpl($tpl);
$js_array[] = 'engine/modules/Statement/Resources/js/statement.js';
try {
    $front->dispatch();
} catch (Exception $e) {
    switch ($e->getCode()) {
        case 404:
            header("HTTP/1.0 404 Not Found");
            $front->msg('Error', $e->getMessage(), 'error');
            break;
        default:
            $front->msg('Error', $e->getMessage(), 'error');
            break;
    }
}
Example #3
0
<?php 
include_once 'mvc/trackList-controller.php';
// abilitare il mod_rewrite con
// sudo a2enmod rewrite
//
//
// gksudo gedit /etc/apache2/sites-available/development &
// cambiare il valore della directory development da AllowOverride none a all
// sudo service apache2 restart
// redirigiamo la richiesta con un switch
FrontController::dispatch($_REQUEST);
class FrontController
{
    public static function dispatch(&$request)
    {
        if (isset($request["page"])) {
            switch ($request["page"]) {
                case "trackList":
                    $controller = new TrackListController();
                    $controller->handleInput($request);
                    break;
            }
        } else {
            write404();
        }
    }
    public static function write404()
    {
        // impostiamo il codice della risposta http a 404 (file not found)
        header('HTTP/1.0 404 Not Found');
<?php

require_once dirname(__FILE__) . '/lightmvc/FrontController.php';
FrontController::$isDebug = false;
FrontController::$dirname = dirname(__FILE__);
$front = FrontController::dispatch();
Example #5
0
<?php

require __DIR__ . '/../src/autoload.php';
// Set some super-global variables for demo purposes.
if (PHP_SAPI == 'cli') {
    $_SERVER['REQUEST_URI'] = '/bankaccount/id/1';
}
$request = new Request($_SERVER, $_GET, $_POST, $_COOKIE, $_FILES, $_ENV);
$response = new Response();
$mapperFactory = new MapperFactory(new PDO('sqlite:' . dirname(__DIR__) . '/database/bankaccount.db'));
$router = new Router();
$router->set('bankaccount', 'BankAccountController');
$router->set('bankaccounts', 'BankAccountListController');
$controllerFactory = new ControllerFactory($mapperFactory);
$viewFactory = new ViewFactory();
$frontController = new FrontController($request, $response, $router, $controllerFactory, $viewFactory);
$view = $frontController->dispatch($router);
print $view->render();
Example #6
0
<?php

require __DIR__ . '/../src/autoload.php';
// Set some super-global variables for demo purposes.
if (PHP_SAPI == 'cli') {
    $_SERVER['REQUEST_URI'] = '/bankaccount/id/1';
}
$request = new Request($_SERVER, $_GET, $_POST, $_COOKIE, $_FILES, $_ENV);
$response = new Response();
$mapperFactory = new MapperFactory(new PDO('sqlite:' . dirname(__DIR__) . '/database/bankaccount.db'));
$router = new Router();
$router->set('bankaccount', 'BankAccountController');
$router->set('bankaccounts', 'BankAccountListController');
$controllerFactory = new ControllerFactory($mapperFactory);
$viewFactory = new ViewFactory();
$frontController = new FrontController($request, $response, $router, $controllerFactory, $viewFactory);
$view = $frontController->dispatch();
print $view->render();