dev-master
9999999-dev http://github.com/misiak/nette-restfulrouterRestful router for Nette Framework.
MIT
The Requires
rest http restful routing nette
Wallogit.com
2017 © Pedro Peláez
Restful router for Nette Framework.
This is implementation of simple restful router for Nette Framework. It provides simple interface for creating routes for any HTTP method., (*1)
It also provides url constructing!, (*2)
Best way is to install it using Composer., (*3)
//composer.json
{
"require": {
"misiak/nette-restfulrouter": "dev-master"
}
}
Then run composer install, (*4)
<?php
use Misiak\Application\Routers\Router;
use Misiak\Application\Routers\Route;
$router = new Router;
// create route only for http get method
$router->get('<presenter>/<action>', 'Homepage:default');
// create route only for http post method
$router->post('api/users', 'Users:default');
//$router->put(..., ...);
//$router->delete(..., ...);
// create route for any http method
$router->any('<presenter>/<action>', 'Homepage:default');
// create route only for given methods
$router->matching('get|post', '<presenter>/<action>', 'Homepage:default');
// or
$router->matching(['get', 'post'], '<presenter>/<action>', 'Homepage:default');
// or as in classic "nette" way
$router[] = new Route('get|post', '<presenter>/<action>', 'Homepage:default');
There can be problem with url constructing if you have route for POST HTTP method and want to create url with $presenter->link(...).
This can be avoided simple by defining _method parameter for your link., (*5)
<?php
// we have route
$route = new Route('post', '/api/users', 'Homepage:default');
// we want to generate link for this route
$presenter->link('Homepage:default'); //this won't generate url! because it is for GET methods
// use this!
$presenter->link('Homepage:default', ['_method' => 'post']);
In Latte templates just use {link Homepage:default, '_method' => 'post'}, (*6)
Restful router for Nette Framework.
MIT
rest http restful routing nette