Response
Depois que o controller processa a requisição, ele precisa responder: mostrar uma mensagem, redirecionar o usuário ou devolver JSON. O caminho oficial é o helper res() (classe Responder).
ℹ️Em poucas palavras
Web: res()->success('Pronto')->to('nome.da.rota'). API: json(['ok' => true]).
Mensagens flash + redirect
A mensagem aparece uma vez na próxima página (flash). Depois some.
// Onde: Controller — depois de salvar / falhar
return res()->success('Salvo com sucesso!')->to('dashboard');
return res()->error('Erro ao processar')->back();
return res()->warning('Atenção')->to('user.settings');
return res()->message('Info custom', 'info')->back();| Método | Para que serve |
|---|---|
success($text) | Flash de sucesso |
error($text) | Flash de erro |
warning($text) | Flash de aviso |
message($text, $type) | Flash genérico |
to($route, $params = []) | Redirect para rota nomeada (ou path) |
back(?$route) | Volta à página anterior (Referer seguro) |
successerrorwarninginfo
JSON (APIs)
// Onde: Controller de API
return json(['ok' => true]);
return json(['error' => 'Forbidden'], 403);
return res()->status(201)->json(['created' => true]);
return res()->header('X-Cache', 'HIT')->json(['items' => $list]);Erro em um campo do formulário
Na view, mostre o erro do campo:
:error('password')No controller:
return $req->withInput('password', 'Senha inválida.')->back();Exemplo: criar usuário
use MUCRM\engine\support\request;
public function store(request $req)
{
$data = $req->check([
'name' => 'required|min:3|max:100',
'email' => 'required|email|unique:customers,email',
'password' => 'required|min:6|max:100',
]);
customer::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => hash::make($data['password']),
]);
return res()->success('Cliente criado!')->to('dashboard');
}Exemplo: login
public function login(request $req)
{
$data = $req->check([
'email' => 'required|email',
'password' => 'required|min:6',
]);
$customer = customer::where('email', $data['email'])->first();
if (!$customer || !hash::check($data['password'], $customer->password)) {
return $req->withInput('password', 'Credenciais inválidas.')->back();
}
auth::login($customer);
return res()->success('Login realizado!')->to('dashboard');
}Injeção no controller (DI)
O framework pode injetar Responder no método. Ou use o helper res() — mesmo efeito.
use MUCRM\engine\support\{request, responder};
public function index(request $request, responder $res)
{
if (!$ok) {
return $res->error('Falhou')->back();
}
return $this->view('home');
}ℹ️Por que Responder e não Response?
MUCRM\\engine\\http\\response é a resposta de um cliente HTTP (cURL).Responder é o builder de saída do seu controller. Nomes diferentes evitam confusão.
Resumo rápido
res()->success('OK')->to('home');
res()->error('Falhou')->back();
res()->warning('Atenção')->to('user.settings');
json(['ok' => true], 200);
res()->status(422)->json(['errors' => $bag]);