<?php /* * Analyses a request, created the right Controller passing it the request */ class Dispatcher { public static function dispatch($request) { return static::dispatchToController($request->getControllerName(), $request); } public static function dispatchToController($controllerName, $request) { $controllerClassName = ucfirst($controllerName) . 'Controller'; if (!class_exists($controllerName)) throw new Exception("$controllerName does not exist"); return new $controllerClassName($controllerName, $request); } } ?>