[TASK] Updated

This commit is contained in:
Simon Sessingø
2015-09-21 19:40:14 +02:00
parent 266ebdf7d7
commit 85470bbbd7
5 changed files with 184 additions and 73 deletions
+90
View File
@@ -0,0 +1,90 @@
<?php
/**
* ---------------------------
* Router helper class
* ---------------------------
* This class is added so calls can be made staticly like Router::get() making the code look more pretty.
*/
namespace Pecee\SimpleRouter;
class SimpleRouter {
public static function start($defaultNamespace = null) {
$router = RouterBase::GetInstance();
$router->setDefaultControllerNamespace($defaultNamespace);
$router->routeRequest();
}
public static function get($url, $callback) {
$route = new RouterRoute($url, $callback);
$route->addRequestType(RouterRoute::REQUEST_TYPE_GET);
$router = RouterBase::getInstance();
$router->addRoute($route);
return $route;
}
public static function post($url, $callback) {
$route = new RouterRoute($url, $callback);
$route->addRequestType(RouterRoute::REQUEST_TYPE_POST);
$router = RouterBase::getInstance();
$router->addRoute($route);
return $route;
}
public static function put($url, $callback) {
$route = new RouterRoute($url, $callback);
$route->addRequestType(RouterRoute::REQUEST_TYPE_PUT);
$router = RouterBase::getInstance();
$router->addRoute($route);
return $route;
}
public static function delete($url, $callback) {
$route = new RouterRoute($url, $callback);
$route->addRequestType(RouterRoute::REQUEST_TYPE_DELETE);
$router = RouterBase::getInstance();
$router->addRoute($route);
return $route;
}
public static function group($settings = array(), $callback) {
$group = new RouterGroup();
$group->setCallback($callback);
if($settings !== null && is_array($settings)) {
$group->setSettings($settings);
}
$router = RouterBase::getInstance();
$router->addRoute($group);
return $group;
}
public static function match(array $requestTypes, $url, $callback) {
$route = new RouterRoute($url, $callback);
foreach($requestTypes as $requestType) {
$route->addRequestType($requestType);
}
$router = RouterBase::getInstance();
$router->addRoute($route);
return $route;
}
public static function ressource($controller, $settings = array()) {
// not yet implemented
}
}