# Correção: funções globais auxiliares não carregadas em produção

- **Commit:** `8325c73a493c52ea88373edaf5022b216c7283d1`
- **Arquivo:** `composer.json`
- **Categoria:** deploy / autoload (produção com `--no-dev`)

---

## 1. Problema

Em produção, ao renderizar o portal, ocorria erro fatal:

> `Call to undefined function App\Http\Controllers\Portal\translateMonth()`
> (e o mesmo padrão para outras funções auxiliares globais de
> `app/Helpers/functions.php`)

A página do portal quebava porque funções usadas em controllers/views não
existiam no ambiente de produção, embora funcionassem em dev.

## 2. Causa real

`app/Helpers/functions.php` (que declara `translateMonth()` e demais helpers
globais) estava registrado em **`autoload-dev.files`**, e não em `autoload.files`.

O deploy de produção roda `composer install --no-dev`, que **descarta** tudo o
que está em `autoload-dev` (incluindo `files`). Consequentemente, o arquivo de
helpers **não era autoloadado** em produção e nenhuma das funções globais era
definida. Como os controllers do portal as invocam (ex.:
`App\Http\Controllers\Portal`), o PHP não encontra a função e lança erro fatal.

## 3. Correção real

`composer.json`: movido `app/Helpers/functions.php` de `autoload-dev.files`
para `autoload.files`, garantindo o carregamento tanto em dev quanto em
produção:

```json
"autoload": {
    "psr-4": { "App\\": "app/" },
    "files": [ "app/Helpers/functions.php" ]
},
"autoload-dev": {
    "psr-4": { "Tests\\": "tests/" }
}
```

> Após alterar `composer.json`, é necessário regerar o autoload:
> `composer dump-autoload` (ou `composer install`/`update` no deploy).

## 4. Retrocompatibilidade

Total. As funções permanecem globais e disponíveis; a única mudança é que
agora também existem em produção (onde antes sumiam). Nenhuma assinatura ou
comportamento de helper foi alterado.

## 5. Notas de deploy

- Rodar `composer dump-autoload --optimize` no alvo após subir a alteração.
- Não há impacto em dev (onde `autoload-dev` já carregava o arquivo).
