Commit initial
This commit is contained in:
58
server/webplatform/apps/CameraMonitor/Framework/Router.php
Normal file
58
server/webplatform/apps/CameraMonitor/Framework/Router.php
Normal file
@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
require_once $GLOBALS['app_path'].'Framework/Request.php';
|
||||
require_once $GLOBALS['app_path'].'Framework/View.php';
|
||||
|
||||
class Router {
|
||||
|
||||
public function routingRequest() {
|
||||
try {
|
||||
$request = new Request(array_merge($_GET, $_POST));
|
||||
|
||||
$controller = $this->createController($request);
|
||||
$action = $this->createAction($request);
|
||||
|
||||
$controller->executeAction($action);
|
||||
}
|
||||
catch (Exception $e) {
|
||||
$this->error($e);
|
||||
}
|
||||
}
|
||||
|
||||
private function createController($request) {
|
||||
$controller = "Default";
|
||||
if ($request->existParameter('controller')) {
|
||||
$controller = $request->getParameter('controller');
|
||||
$controller = ucfirst(strtolower($controller));
|
||||
}
|
||||
|
||||
$classController = "Controller" . $controller;
|
||||
$fileController = $GLOBALS['app_path']."Controller/" . $classController . ".php";
|
||||
if (file_exists($fileController)) {
|
||||
|
||||
require($fileController);
|
||||
$controller = new $classController();
|
||||
$controller->setRequest($request);
|
||||
return $controller;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("Fichier '$fileController' introuvable");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private function createAction(Request $request) {
|
||||
$action = "index";
|
||||
if ($request->existParameter('action')) {
|
||||
$action = $request->getParameter('action');
|
||||
}
|
||||
return $action;
|
||||
}
|
||||
|
||||
private function error($exception) {
|
||||
$view = new View('error');
|
||||
$view->generate(array('msgError' => $exception->getMessage()));
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user