Site

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étodoPara 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]);