Rotas de Módulos
v4Cada módulo define suas próprias URLs no arquivo routes.php. Esse arquivo é descoberto e carregado automaticamente quando o site inicia — você não precisa registrar em nenhum outro lugar.
Onde fica
app/modules/shop/routes.phpRota básica
Uma URL que chama um método do handler:
<?php
use MUCRM\engine\support\facades\uri;
use MUCRM\modules\shop\handlers\web_handler;
uri::get('/shop', [web_handler::class, 'index'])->name('shoppings.index');Gere links com to('shoppings.index') — vejaRotas HTTP.
Parâmetros na URL
Use chaves com tipo para capturar valores da URL:
| {id:number} | Apenas números |
| {slug:string} | Letras, números, hífen |
| {path:any} | Qualquer coisa (exceto /) |
uri::get('/shop/item/{id:number}', [web_handler::class, 'show'])
->name('shoppings.show');
// No handler — o parâmetro vira argumento do método:
public function show(int $id) { ... }Grupos com prefixo e middleware
Agrupe rotas que compartilham o mesmo prefixo de URL ou exigem login:
use MUCRM\http\middlewares\user_auth;
uri::group(['prefix' => 'shop', 'middleware' => [user_auth::class]], function () {
uri::get('/', [web_handler::class, 'index'])->name('shoppings.index');
uri::post('/buy', [web_handler::class, 'buy'])->name('shoppings.buy');
});Middlewares disponíveis: Middlewares.
Rotas de admin
Handlers de admin ficam em handlers/admin/ e usam o middleware admin_auth:
use MUCRM\http\middlewares\admin_auth;
uri::group(['prefix' => 'admin/shop', 'middleware' => [admin_auth::class]], function () {
uri::get('/', [admin_handler::class, 'index'])->name('admin.shoppings.index');
});Quando criar rotas?
Crie rotas quando precisar de:
- Página acessível por URL
- Formulário com envio POST
- Área logada do jogador
- Painel administrativo
Não precisa de rota quando:
O módulo só aparece como widget em outra página. Use plug() na view do tema.