
Routy pro jednotlivé metody jsou pomocí atributu Moony\bootstrap\core\attributes\Route a volitelně lze použít prefix v rámci třídy Moony\bootstrap\core\attributes\RoutePrefix
Každá routa je defaultně zpracovávána jako GET, v případě potřeby zpracovat POST, je třeba to uvést v druhém (popř. v třetím parametru, pokud je potřeba zadat také název routy), viz. příklady níže. V případě potřeby lze zadat název routy jako druhý parametr v atributu
Název právě používané routy lze získat globální funkcí currentRouteName() a může být null, pokud aplikace neprošla HTTP Requestem.
use Moony\bootstrap\core\attributes\Route;
use Moony\bootstrap\core\enums\RequestTypeEnum;
// GET routa
#[Route('/index')];
// GET routa s názvem 'MyIndexRoute'
#[Route('/index', 'MyIndexRoute')];
// POST routa
#[Route('/index', RequestTypeEnum::POST)];
// POST routa s názvem 'MyIndexRoute'
#[Route('/index', 'MyIndexRoute', RequestTypeEnum::POST)];Každá routa může obsahovat proměnné zapasné <NÁZEV PODMÍNKA> a poté budou do metody předány parametrem, který musí mít stejný název, jako proměnná v routě.
#[Route('/show/item/<id int>')]
public function show(int $id) {}
#[Route('/show/item/<id id>')]
public function show(int $id) {}
#[Route('/show/item/<id uuid>')]
public function show(string $id) {}
...
#[Route('/show/item/<slug common>')]
public function show(string $slug) {}
...
#[Route('/show/item/<slug common{32}>')]
public function show(string $slug) {}
...
#[Route('/show/item/<item equal{item1,item2,item3}>')]
public function show(string $item) {}
...
#[Route('/show/item/<item regex{\w{5}-\w{10}}>')]
public function show(string $item) {}
...
#[Route('/show/item/<itemData :id{shop_items}>')]
public function show(array $itemData) {}
...
#[Route('/show/item/<itemData :id{shop_items}?>')]
public function show(?array $itemData) {}
...
#[Route('/show/item/<itemData :id{shop_items} +user ?>')]
public function show(?array $itemData) {}
...