# SIGDA — Rutas automáticas

SIGDA ya no requiere un `if` por cada URL.

La resolución se hace por convención:

- `/clientes` → `ClienteController::index()`
- `/clientes/create` → `ClienteController::create()`
- `/clientes/edit/15` → `ClienteController::edit(15)`
- `/clientes/show/15` → `ClienteController::show(15)`
- `/clientes/ajax/search` → `ClienteController::searchAjax()`
- `/clientes/15/direcciones/store` → `ClienteController::storeDireccion(15)`
- `/clientes/direcciones/delete/15` → `ClienteController::deleteDireccion(15)`
- `/productos` → `ProductoController::index()`
- `/pedidos/create` → `PedidoController::create()`
- `/operaciones/from-pedido/8` → `OperacionController::fromPedido(8)`
- `/operaciones/8/pagos/store` → `OperacionController::storePago(8)`
- `/caja` → `CajaController::index()`

## Composer

El proyecto ya incluye `composer.json` con autoload por `classmap` para `app/`.

Después de copiar el proyecto ejecuta:

```bash
composer install
```

No hay paquetes externos obligatorios; Composer se utiliza para generar el autoload optimizado.

SIGDA conserva un autoloader de respaldo para que el proyecto siga funcionando incluso antes de ejecutar Composer.
