Site

Rotas de Módulos

v4

Cada 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.php

Rota 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.