/** * @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)); }
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; } }
<?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();
<?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();
<?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();