public function testPut() { $_SERVER['REQUEST_METHOD'] = 'PUT'; $_SERVER['REQUEST_URI'] = '/test'; $t = false; Router::put('/test', function () use(&$t) { $t = true; return false; })->process(); $this->assertTrue($t); }
$app->get('/user/:int', function ($params) { Router::setContentType('application/json'); Router::setStatus(200, 'OK'); die(json_encode(array('status'=>'OK', 'data'=>array('user_id'=>$params[1], 'username'=>'neogeek')))); }); // curl -X PUT -d "email=neo@neo-geek.net" http://example.com/examples/router/user/1 $app->put('/user/:int', function ($params) { Router::setContentType('application/json'); Router::setStatus(200, 'OK'); parse_str(file_get_contents('php://input'), $_PUT); die(json_encode(array('status'=>'OK', 'data'=>array('user_id'=>$params[1], 'username'=>'neogeek', 'email'=>$_PUT['email'])))); }); // curl -X DELETE http://example.com/examples/router/user/1 $app->delete('/user/:int', function ($params) { Router::setContentType('application/json'); Router::setStatus(200, 'OK'); die(json_encode(array('status'=>'OK', 'data'=>array()))); });
<?php //Include Config files. include 'app/config/routes.php'; include 'app/config/paths.php'; //Initialize Autoloader. include 'app/system/autoloader.php'; autoloader::register(); //Initialize the router with URL and route config file. $router = new Router($routes, $_GET['url']); switch ($_SERVER['REQUEST_METHOD']) { case 'GET': $router->get($_GET['url']); break; case 'POST': $router->post($_GET['url']); break; case 'PUT': //need to be done $router->put($_GET['url']); break; case 'DELETE': //need to be done $router->delete($_GET['url']); break; default: die('not a valid Request Method, request method =' . $_SERVER['REQUEST_METHOD']); }