Anonym-Route
This is a route component for AnoynmFramework., (*1)
Launch the component
include 'vendor/autoload.php';
use Anonym\Components\Route\RouteCollector;
use Anonym\Components\Route\Router;
use Anonym\Components\HttpClient\Request;
$collector = new RouteCollector();
How can i add a new route?
$collector->get('uri', ['_controller' => 'Controller:method',
'access' => [
'role' => '',
'next' => null,
'name' => 'name',
]]);
Which types are supported?
GET
, POST
, HEAD
, PUT
, OPTIONS
, DELETE
, PATCH
, (*2)
How to run?
use Anonym\Components\Route\Router;
$router = new Router( new Request());
$router->run();
How can i add a middleware?
$collector->get('/', ['_middleware' => ['name' => 'middlewarename', 'role' => 'aaa', 'next' => function(){}]]);
How can i add a middleware in a controller?
public function __construct(){
$this->middleware('middlewarename');
}
How can i create a Controller
add it to composer.json, (*3)
"Anonym\Controllers": "path"
and create controller in the "path", (*4)
use Anonym\Components\Route\Controller;
class Test extends Controller{
// do nothing
}
$collector->get('/{test}', 'Controller:method'); // {test} is required
$collector->get('/{test!}', 'Controller:method'); // {test!} is required
$collector->get('/{test?}', 'Controller:method'); // {test?} is optional
How can I set the namespace?, (*5)
$router = new Router()->setNamespace('Your\Namespace');
// or
$collector->get('/', ['_controller' => 'Test:method', '_namespace' => 'Your\Namespace']);