Aprenda a usar middlewares no Slim Framework para autenticação, CORS, logs e tratamento de erros, otimizando suas APIs em PHP com eficiência.
Desenvolvimento de Middleware no Slim Framework: Otimizando APIs em PHP
O mundo da programação back-end oferece diversas ferramentas para a criação de APIs robustas. Entre elas, o Slim Framework se destaca por sua leveza e simplicidade. Um de seus recursos mais poderosos são os middlewares, fundamentais para manipular requisições e respostas ao longo do ciclo de vida de uma aplicação.
O que é Middleware?
No Slim, um middleware é um código executado antes ou depois de uma requisição atingir sua rota. Ele é útil para:
- Autenticação e autorização de usuários
- Registro de logs de acesso
- Modificação de requisições e respostas
- Inclusão de cabeçalhos HTTP
- Tratamento de erros e exceções
Como Funciona um Middleware no Slim?
Os middlewares são organizados em uma cadeia. Cada um recebe a requisição ($request
), a resposta ($response
) e uma função next
para passar o controle adiante.
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
$app->add(function (Request $request, Response $response, $next) {
// Código antes da rota
$response = $next($request, $response);
// Código após a rota
return $response;
});
Aplicações Práticas de Middleware
1. Middleware de Log
$app->add(function ($request, $response, $next) {
file_put_contents('log.txt', $request->getUri() . "\n", FILE_APPEND);
return $next($request, $response);
});
2. Middleware para Cabeçalhos CORS
$app->add(function ($request, $response, $next) {
$response = $next($request, $response);
return $response
->withHeader('Access-Control-Allow-Origin', '*')
->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization');
});
3. Middleware para Tratamento de Erros
$app->add(function ($request, $response, $next) {
try {
return $next($request, $response);
} catch (Exception $e) {
$data = ['error' => $e->getMessage()];
return $response->withStatus(500)->withJson($data);
}
});
Boas Práticas no Uso de Middleware
- Separe responsabilidades em middlewares específicos
- Utilize middlewares prontos para tarefas comuns
- Cuidado com a ordem de execução: ela impacta o comportamento
- Evite middlewares com lógica excessiva ou complexa demais
Conclusão
O uso de middlewares no Slim Framework permite criar APIs PHP modulares, seguras e organizadas. Com boas práticas e planejamento, sua aplicação ganha em performance e manutenção.